使用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(); } }