The “Geysitech (Bayern-Hessen) Protocol” ( “Geysitech Protokoll” / “Bayern-Hessen Datenprotokoll” ) for climate telemetry systems, used by the IT infrastructure of the german trade and industrial inspectorates ( “Gewerbeaufsichtsamt” ) in Germany.
Eclipse "Paho - Open Source messaging for M2M" - “The Paho project provides scalable open-source implementations of open and standard messaging protocols aimed at new, existing, and emerging applications for Machine‑to‑Machine (M2M) and Internet of Things (IoT)”.
HW group "HWg-PWR: M-Bus IP energy meter (SNMP, WEB)" - “M-Bus or S0 pulse counter? The M-Bus is a standard in energy metering. As opposed to pulse counters (S0), it works with absolute values (acquired data can be used as an argument against the utility bill). At the same time allows working with additional values (quantities), such as voltage, current, flow, drift, etc.”.
NettedAutomation GmbH - “The Net is the Automation. We bring people, systems and devices together” - “IEC61850Li® - Lite implementations. The free evaluation DLL for an IEC 61850 (IEC 61400-25) as a Starter Kit for Client/Server and Publisher/Subscriber is now available”.
SISCO, Inc "MMS-EASE Lite" - “A source code product for embedding the IEC 61850 protocols in Intelligent Electronic Devices (IEDs) such as RTUs, reclosers, PLCs, meters and other resource constrained systems”.
EN.Wikipedia "DNP3", DE.Wikipedia "DNP3" ( Distributed Network Protocol ) - “A set of communications protocols used between components in process automation systems. It was developed for communications between various types of data acquisition and control equipment. It plays a crucial role in SCADA systems, where it is used by SCADA Master Stations (aka Control Centers), Remote Terminal Units (RTUs), and Intelligent Electronic Devices (IEDs)”.
The support of SPI is in the Arduino implementation of the Firmata protocol, not in the PHP code
There is no webserver on the Arduino / Teensy.
Warning: As soon as you open a serial connection on an original “Arduino” board, a Reset is processed. There are implementations of Arduino boards, where you can prevent that by cutting a physical wire on the printed circuit board.
Problem: With a standard programming approach, a webserver on the Arduino would open a serial connection at each HTTP request and close the serial connection afterwards, causing the unwanted Reset.
There are some ugly Ardunio project which depend on this behaviour and don´t overcome it.
Thats why this “Carica” project opens a permanent serial connection.
Standad UARTs of microcontrollers are not suitable for implementation of PROFIBUS, MODBUS or other high-speed serial communication ( as a standard UART can't be configured to run with 12 Mhz bus clock speed ). You need specially designed devices ( on the microcontroller chip ) for such.