All Projects → victorhurdugaci → SerialProtocol

victorhurdugaci / SerialProtocol

Licence: Apache-2.0 license
A protocol for sending data between two Arduino devices, or between an Arduino and another device through a serial port

Programming Languages

C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to SerialProtocol

Raspberry-Pi-Electricity-Monitor
Software for monitoring the electricity consumption of a home with a Raspberry Pi
Stars: ✭ 33 (-8.33%)
Mutual labels:  serial, serial-ports
HeishaMon
Panasonic Aquarea air-water H and J series protocol decrypt
Stars: ✭ 102 (+183.33%)
Mutual labels:  serial, protocol
yahdlc
yahdlc - Yet Another HDLC implementation
Stars: ✭ 47 (+30.56%)
Mutual labels:  serial, protocol
SerialPorts.jl
SerialPort IO streams in Julia backed by pySerial.
Stars: ✭ 28 (-22.22%)
Mutual labels:  serial, serial-ports
Cserialport
基于C++的轻量级开源跨平台串口类库Lightweight cross-platform serial port library based on C++
Stars: ✭ 296 (+722.22%)
Mutual labels:  serial, serial-ports
Arduino Robust Serial
A simple and robust serial communication protocol. It was designed for Arduino but can be used for other purposes (e.g. bluetooth, sockets). Implementation in C Arduino, C++, Python and Rust.
Stars: ✭ 83 (+130.56%)
Mutual labels:  serial, protocol
Node Serialport
Access serial ports with JavaScript. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them!
Stars: ✭ 5,015 (+13830.56%)
Mutual labels:  serial, serial-ports
Gps.js
A NMEA parser and GPS utility library
Stars: ✭ 171 (+375%)
Mutual labels:  serial, protocol
micronova controller
Allows you to easily control via MQTT any Micronova equiped pellet stove. (MCZ, Extraflame, Laminox, and many others brands!)
Stars: ✭ 30 (-16.67%)
Mutual labels:  serial
muxrpc
lightweight multiplexed rpc
Stars: ✭ 96 (+166.67%)
Mutual labels:  protocol
ProtocolLib
Provides read and write access to the Minecraft protocol with Bukkit.
Stars: ✭ 625 (+1636.11%)
Mutual labels:  protocol
knx-go
KNX clients and protocol implementation in Go
Stars: ✭ 62 (+72.22%)
Mutual labels:  protocol
Simulink-Arduino-Serial
How to connect Arduino and Simulink
Stars: ✭ 54 (+50%)
Mutual labels:  serial
smart switcher
[TERMINAL ONLY] Auto-detect proxy switcher for http, https, ftp, rsync, git protocols. It supports many tools such as wget, yum, portage, brew ...
Stars: ✭ 37 (+2.78%)
Mutual labels:  protocol
Minerva-Debugger
Providing a great interface to the iOS kernel, hardware, threads and processes in a great research environment. (WIP)
Stars: ✭ 23 (-36.11%)
Mutual labels:  serial
ioBroker.contactid
Contact ID server for burglar alarm system
Stars: ✭ 20 (-44.44%)
Mutual labels:  protocol
latex-protocol
LaTeX template for documents and laboratory documentation 📚
Stars: ✭ 14 (-61.11%)
Mutual labels:  protocol
tcp-multiplexer
A TCP service multiplexer in Python
Stars: ✭ 32 (-11.11%)
Mutual labels:  protocol
android-bluetooth-serial
A library for Android to simplify basic serial communication over Bluetooth, for example when communicating with Arduinos.
Stars: ✭ 120 (+233.33%)
Mutual labels:  serial
CanSat-Ground-station
Code for a CanSat or OBCs GUI ground station where different sensor data are displayed in real time. No sensors needed to try it.
Stars: ✭ 55 (+52.78%)
Mutual labels:  serial

Arduino Serial Protocol

ArduinoSerialProtocol is a protocol for sending data between two Arduino and/or Raspberry PI devices over serial.

Message structure

  • Message start marker: 1 byte
  • Message size: 1 byte
  • Payload (message body): variable number of bytes (max 255)
  • Checksum: 1 byte

Total message size (bytes): Payload + 3

Install Arduino Libraries

  1. Download the Repository as a .zip file.
  2. In Arduino IDE, go to Sketch> Include Library> Add .zip Library.
  3. Select the Downloaded .zip File.

Examples

Arduino Instructions

Open the arduino_app in the Arduino IDE and upload to your Arduino.

Raspberry Pi Instructions

  1. Clone this repository and navigate to the SerialProtocol/extras/raspberry_app folder.
  2. Make the file raspberry_app.cpp
  3. Run the new file. You should see the two devices exchanging a data structure with different numeric types.

Acknowledgements

SerialProtocol is inspired by Arduino-EasyTransfer. It brings a few improvements (over v2.1):

  • The start marker (header) is one byte shorter
  • A detailed error code is given in case of communication failures

License

Copyright Victor Hurdugaci. All rights reserved.
Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.

Contributors

Victor Hurdugaci

James Head

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].