使用Java将数据发送到Arduino Uno
我刚刚买了一个Arduino Uno,我正在尝试制作一个闪烁的LED。 我想知道如何做到这一点,我看了Arduino Playground并找到了一个程序来获取输入。 我需要输出到Arduino。 除了Java之外,我不可能使用任何东西,因为我已经有了另一个需要Arduino的程序。 请留下任何想法。
编辑:有点像你想在java中这样做的声音。
摘自jayeff提到的网站 :
OutputStream带有3种不同的写入方法,用于将数据从计算机发送到Arduino。 在上面的示例中,您可以使用
output.write(String)
发送数据,如output.write("Hello Arduino!")
。
如果您正在尝试使用Java写入Arduino,那么这就是您的答案。
http://arduino.cc/playground/Interfacing/Java
编辑 :如果你想使用Java以外的东西,你可以去:
问你应接受。 您可以使用任何具有串行支持的编程语言来执行此操作。
每种语言肯定都有其他方法,但我在5分钟内在Google Machine上找到了一些方法
- Perl – Device :: SerialPort
- Python – pySerial通过Android Playground
- C ++ – LibSerial (下面使用)
注意:注意 在串行问题上讨厌的自动重置 。 有关详细信息,请参阅我之前的答案 。
这是我的C ++代码(它很难看,但它有效)
#include #include #include #include #include using namespace std; class SerialComm { LibSerial::SerialStream myss; public: SerialComm(int argc, char** argv) { myss = new LibSerial::SerialStream("/dev/ttyS0", ios_base::out); myss.SetBaudRate(LibSerial::SerialStreamBuf::BAUD_57600); myss.SetCharSize(LibSerial::SerialStreamBuf::CHAR_SIZE_8); myss.SetFlowControl(LibSerial::SerialStreamBuf::FLOW_CONTROL_NONE); myss.SetParity(LibSerial::SerialStreamBuf::PARITY_NONE); myss.SetNumOfStopBits(1); const int Dsize = 2; char buffer[1]; buffer[0] = 125; //0b00000001; buffer[1] = '\0'; bitset(buffer[0]); //myss << buffer; myss.write(buffer,1); //myss.Close(); } }