У меня возникли проблемы с пониманием последовательной связи между моими устройствами Arduino и Raspberry Pi. Вот что я пытаюсь сделать:
- Сторона Arduino: У меня есть плата Arduino, подключенная к различным датчикам, и я хочу чтобы отправить данные с этих датчиков на мой Raspberry Pi для дальнейшей обработки.
- Сторона Raspberry Pi: На Raspberry Pi у меня есть программа, которая считывает отправленные данные Arduino, обрабатывает их и выполняет определенные действия на основе полученных данных.
#include
#define START_MARKER ''
SoftwareSerial mySerial(2, 3);
void setup() {
Serial.begin(9600);
mySerial.begin(115200);
}
void loop() {
sendDataPacket('A', 0xAA01, 0x1234, 0x0064, 0x02, 0x07, 0xC0DE);
sendDataPacket('B', 0xAA01, 0x1234, 0x0065, 0x02, 0x07, 0xC0DE);
sendDataPacket('C', 0xAA01, 0x1234, 0x0066, 0x02, 0x07, 0xC0DE);
delay(1000);
}
void sendDataPacket(char phase, uint16_t data1, uint16_t data2, uint16_t data3, uint16_t data4, uint16_t data5, uint16_t data6) {
mySerial.write(START_MARKER);
mySerial.write(phase);
mySerial.write(data1 >> 8);
mySerial.write(data1 & 0xFF);
mySerial.write(data2 >> 8);
mySerial.write(data2 & 0xFF);
mySerial.write(data3 >> 8);
mySerial.write(data3 & 0xFF);
mySerial.write(data4 >> 8);
mySerial.write(data4 & 0xFF);
mySerial.write(data5 >> 8);
mySerial.write(data5 & 0xFF);
mySerial.write(data6 >> 8);
mySerial.write(data6 & 0xFF);
mySerial.write(END_MARKER);
}
Код Raspberry Pi:
bool getSerialPortSettings(const std::string &portPath, termios &tty, int &data_size)
{
sqlite3 *db;
if (sqlite3_open(DB_FILE, &db))
{
std::cerr
Подробнее здесь: https://stackoverflow.com/questions/783 ... spberry-pi
Мобильная версия