panStamp forum - New schemas on top of SWAP
the goal is to interface Swap motes with the PLC using registers and . for my panstamp cloud, and the RPI+EVE doesn't really meet my needs. Figure PanStamp shield attached to the Raspberry Pi  . 58 .. meet all the requirements. ZigBee devices are of three SWAP or Simple Wireless Abstract Protocol is a lightweight application layer protocol designed for . panStamp - the open-source IoT platform. base-board hardware to meet their needs, with all the complexity of Wireless boards run a compact stack and communicate with each other using a simple protocol called SWAP.
It is designed to be used as an M2M server that runs on the gateway to translate end-point messages to a routable form and automate physical tasks by controlling actuators.
List of Arduino boards and compatible systems - Wikipedia
They use a common ZeroMQ Publishing socket over TCP to notify events to clients so that they do not have to continuously request updates.
There are three different types of Lagarto servers: SWAP is an application layer lightweight protocol for the wireless communication of panStamps. It provides mechanisms for sending, requesting and controlling abstract data registers. SWAP end-devices are lightweight and only maintain a small amount of mandatory registers containing basic information like communication channel, device address and network id. Lagarto-SWAP runs on the gateway and requires a panStamp to be connected to the serial port and act as a modem for the network traffic.
The server is bound to listen to the serial port for SWAP traffic and is able to send a command to the serial port that will be transferred to the panStamp for wireless transmission.
UDP is connectionless and the exchange of packets does not require the establishment of a circuit. This results in a simpler and lighter protocol than TCP, however it does not guarantee the effective and sequentially delivery of the packets. Its main advantage is that simplifies the server implementation for a very large numbers of clients as required by the specifications of the Internet Engineering Task Force IETF standardization for Constrained Restful environments CoRE.
It constitues a basic component of Lagarto architecture since it is able to collect end-device values belonging to different networks and present them to the user in a homogeneous way. Lagarto-MAX is equipped with a web interface for monitoring and controlling any Lagarto endpoint on the same network and provides an event manager which can be programmed via the web interface to interact with the end-devices.
The event manager can also be programmed to push end-device values to the supported virtual clouds ThingSpeak, Open.
List of Arduino boards and compatible systems
IoT cloud platforms are online virtual clouds that can receive information from any Internet-connected device. Everything has been designed to perform efficiently, quickly and with good power efficiency with one of the most compact wireless stacks on the market, allowing developers to focus on their applications without worrying about low-level details of the microcontroller and radio implementation.
However, the platform is all free and open-source, so those details of low-level implementation are available for developers to look at if you want to. The panStamp project provides a complete solution to allow you to build wireless sensor networks that are connected to the cloud — not only microcontroller and sensor boards, but also the communications stack, protocol definitions, network controller and management tools to get your network of sensors up and running and connected to cloud services.
From the data collection and actuation to transmission, data management, event handling and IP tunnelling, panStamp aims to provide easy connectivity of wireless devices to cloud services and other Internet-of-Things services in a way that is accessible regardless of your technical background. To consider some of the standard base-boards available for use with panStamp modules, a good starting point is panStick, which is a USB-connected motherboard for panStamps.
The panStick is used to program panStamps, and also acts as a serial gateway from your PC to the wireless network. This allows the developer to easily get started with software development for these relatively powerful bit, power-efficient microcontrollers with the same ease of use and same language and development environment that will be familiar to Arduino users.
Status messages can't be ack'ed since they are broadcasted. Doing this we avoid any possibility of confusion. Once the complete transmission is received, then we can decide to send your ACK to the other panStamp as a way to let him know that the complete multi-frame packet was received. Otherwise, if the receiver does not get the next frame within the next second then it can send a NACK.
If a NACK is received, the original transmitter has to restart the transmission.Tyga - Dip (Official Video) ft. Nicki Minaj
This is fact what I want to implement for the wireless firmloader. Fabrice, Christophe, what do you think? Can't you simply unplug your wireless adapter from your PLC? But indeed that should probably be kept in another thread. The biggest design choice is whether we KISS it a max or go for a more complete set of features.
My first plan was simply to use a command number to be able to send debug strings, as Serial. Going for panMillenium's idea of supporting PLC packet transport is a whole other adventure. Can we rely on the CRC for that? What if a packet is lost in the middle? Before long we will reinvent TCP That's already mostly in post And fixed length timeouts, while everything panstamp is programmable in Registers?
I don't like that very much. Indeed the packet end marker is yet another one. The other big issue, also present here, is Reserving bytes for the buffer can be done, but when memory is exhausted, a just goes in unknwown behaviour, no detection mechanism exists. About the speed, bps seems close to the "sweet spot".
Going higher will create more errors, and you need to go considerably lower to get less errors doesn't seem to make a big difference.