fredilarsen / moduleinterface Goto Github PK
View Code? Open in Web Editor NEWEasy config and value sync between IoT modules, database and web pages
License: Other
Easy config and value sync between IoT modules, database and web pages
License: Other
All the examples use hard coded device ids (masters and slaves). Can ModuleInterface also be used with PJON's dynamic addressing?
I am working on low power IOT home automation network. The code I wrote send up to 5 different sensor values, their respective sensor types and 5 different status values for that particular device along with the device ID to identify the device. These devices can also receive MQTT commands from any MQTT client by publishing with topic "command/". My repo is linked below:
https://github.com/happytm/BatteryNode
Right now I am using ESP Dash android app to monitor and control my network but your software could be better because it can not only display but store it in database. I have used node-red but I think it is overkill in my case.
I would like to use your front end to display data on web and store it in database. Data will be collected by network of my battery nodes and published as MQTT messages by the gateway. I wanted to see how I can implement my ProbeReceiver.ino sketch with your code and display all sensor data it collects from all battery node devices on network . Each BatteryNode devices send data to one gateway and gateway has MQTT broker built in which publishes data in following format for example data received from a BatteryNode with Device ID = 36:
Serial debug messages on Gateway device where it receive data from all Battery node devices:
Command sent to device no. 36 = 'command/36/06/16/26/36/46/
################ Person 1 arrived ######################
Received Topic 'Sensordata/Person1/Home
Received Topic 'Sensordata/Signal/-48
Received Topic 'Sensordata/Person1/in/Livingroom
Received Topic 'SensorData/36/6/2.90
Received Topic 'SensorData/36/16/20
Received Topic 'SensorData/36/26/50
Received Topic 'SensorData/36/36/596
Received Topic 'SensorData/36/46/37
Received Topic 'DeviceStatus/36/DeviceMode/0
Received Topic 'DeviceStatus/36/DeviceIP/36
Received Topic 'DeviceStatus/36/WiFiChannel/7
Received Topic 'DeviceStatus/36/SleepTime/1
Received Topic 'DeviceStatus/36/UpTime/127
6,16,26,36,46 in above messages are predefined sensor types to identify what kind of sensors they are for example 6 = voltage, 16 = temperature , 26 = humidity, 36 = pressure, 46 = light intensity etc.
Signal Strength of remote sensor: -23
Received Topic 'Sensordata/Signal/-23
Serial debug messages from BatteryNode device no. 36:
Sensor Type values sent to controller: 24:06:10:1A:24:2E
Device status values sent to controller: 24:00:24:07:01:8B
Sensors values sent to controller: 24:93:38:25:19:59
Message received from Controller: 24:06:10:1A:24:2E (This message is received from gateway).
I hope you can help me.
Thanks.
Hello,
my first impression of ModuleInterface is: it is pretty solid and looks great.
The question: Is it possible to get ModuleInterface without a central master getting to work? So I only want Modules (maybe "MultiMasters") which can communicate with each other with their inputs and outputs without a central master.
Example:
Two modules as light switches with the output "light:b1" and one relay module with has the corresponding input "light:b1" and reacts on those values.
At the moment I think this does not work without a master, maybe because of the heartbeats? (I havent read through the code...)
I think this implementation without master could fulfill a lot of home bus needs... (KNX for example is also without a central master)...
Thanks in advance for your work and your answer
Maurice
According to gioblu/PJON#211: I had already a look at ModuleInterface and it looks promising (e.g. the webserver/interface). But honestly I did not get how to set it up and what parts do what.
Basically I want to have a device (call it router) that connects to any number of PCs (honestly I do not care about strategy here) one one side and on the other a SoftwareBitBang to replace my 1-wire network. All can/should be local only - if I want to share then not the devices but the webserver/interface (which can sit on any local machine) only. So I am fine with any solution ThroughSerial, Ethernet, LUDP, ...
My current issue is that I am not able to establish a connection between PC and any device using any stragtegy, I already tried:
As I have a linux machine (ubuntu 14.04) I really have trouble to compile PJON-gRPC and also ThroughSerial examples as they are for win only. Using the Yun is ok for me but out of my experience it always needs some special tricks thus I wanted to start simple and small (ThroughSerial). I imagine something like Arduino Uno connected via ThroughSerial to a linux machine. But I am fine with any starting point that works (minimal example, prove of concept) - this is my desperate need - can you help here?
I assume you are referring to ModuleInterface/examples/WebPage/WINDOWS_LINUX_ETCP and ModuleInterface/examples/WebPage/WINDOWS_LINUX_LUDP ? Can you give me a simple step-by-step howto on how to compile that for linux and arduino yun? How to debug in case it's not working?
Hi there,
Just looking at what you've created here and it meets all my requirements for a project I have for a freind, bar the fact that I would like to be pushing distances of up to several kilometers. Unfortunately that range is difficult to achieve with any wifi connections and ESP8266's but it is easily obtained with the new LoRa radio modules.
However BitBashSoftware is not suitable for this and really I need to be using OS (Over Sampling) which of course you would already know.
Being a tottering beginner in the world of IOT/Ardiuno etc, despite a background of PLC's etc, I thought I would ask if you were looking to add that support in the future and if not maybe give some pointers as to what would be required to make this system work with the OS Strategy?
Again I must say I am impressed by the simple design and structure you have used to build this. I do not obviously have the knowledge/skill and mainly experience to put it together so well. And of course PJON needs a BIG pat on the back too.
thanks for your time and knowledge...
Hi,
I am planning a private home automation project (Multi-Master ThroughSerial via RS484 using AVR Atmega328 and AVR Atmega1284).
I will use PJON as a communication protocol. However I will not use Arduino bootloader/core libs (custom hardware and custom bootloader). Hence I already ported the PJON Interface to support bare metal AVR controllers.
ModuleInterface seems to match my requirements quite neatly, but I see you have some dependencies on Arduino core libs/headers.
Could you comment on how easily ModuleInterface could be adapted to bare metal AVR with only PJON running?
Also In your README you specify that the Master node should be some bigger controller. Is Atmega1284 sufficient? (No GUI or Webserver, just Broker)
If i underestand right, master module have to know structure of each node, or i s there something like autodiscover? My idea is to build growable network where at the begening is one master and two slaves and after some time add another slaves, but without reflashing master.
Blink example causes ESP8266 board to enter an infinite reset loop caused by memory allocation error.
This appears to be due to use of strlen to access a PROGMEM char array, addressed in PR #14
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.