💬 Building an Ethernet Gateway
-
@hoggin At least according to my experience, just downgrading the AVR Board Definitions to <=1.6.11 using the Board-Manager within an recent version of the IDE should have done the trick; downgrade of the other libs including mysensors (2.1.1) was not necessary.
In Addition: For the serial Gateways this kind of trouble seems to be solved since version 1.6.18 of the AVR-Board definitions (shipped since several weeks).
-
@rejoe2 Perhaps you are correct. I am not nearly as well versed in this stuff as others. I was working on the Ethernet project so I didn't spend much time messing with the serial end of it.
@hoggin I don't have experience with the ethernet part and just wanted to point out that your solution may be a little "overdone" (but I'm not sure about that).
Anyhow: Perhaps you should add a remark wrt. to this to your other post doubling the info you wrote here to avoid others doing tho long round instead of the direct way? -
-
I have a Vera but I'm moving some of my stuff over to OpenHab. So on one side I was using the standard W5100 GateWay on the other I need the MQTT GateWay. The major difference is in the "define MY_PORT" one is 5003 and the other is 1883. Is there a way to do both? Thanks.
-
@mpp said:
Would it be possible to build an MQTT gateway using the ESP8266 WiFi Gateway?
Yes, the MQTT gateway works on ESP as well.
-
@hek just tested the gateway sketch on an esp with an rfm69 and it looks really promising. Would it be possible to communicate with moteino's or do I have to create arduino+rfm69 nodes running the mysensor sketch?
Moteino is a low power wireless Arduino compatible development platform based on the popular ATmega328p chip used in the Arduino-UNO, making it 100% compatible with the Arduino IDE (programming environment) ... They are compatible with any other Arduino clones that use the popular HopeRF RFM69 transceiver
so they should work just fine. Just upload one of the MySensors example sketches to the moteino and try.
-
Just for sharing, yesterday I was playing around and I tried to make an ethernet gateway with a UNO with w5100 shield and a nrf24 radio, then I attached a DHT11 sensor to it; when I compiled the sketch I had to disable the MY_DEBUG otherwise the I could not upload it to the UNO as it was using 102% of available memory and even with no debug the Arduino IDE was giving me warning about low ram memory available that could make system unstable. I then removed the NRF24 part as I didn't need it at the moment and the sketch compiled smoothly.
It looks like the MEGA2560 could be a better candidate if you want to make a gateway with some sensors. -
Solved: challenge with requesttime
Update: mysensors adapter 1.0.7 for ioBroker solved the issue.
Challenge:
my arduino node20 is requesting epoch time. W5100 gateway forwards message to controller (ioBroker). This is the gateways console in debug:
0;255;3;0;9;TSF:MSG:READ,20-20-0,s=255,c=3,t=1,pt=0,l=0,sg=0:
0;255;3;0;9;Eth: 20;255;3;1;I_TIME;1491770622
0;255;3;0;9;TSF:MSG:SEND,0-0-20-20,s=255,c=3,t=0,pt=0,l=10,sg=0,ft=0,st=OK:1491770622
0;255;3;0;9;TSF:MSG:READ,20-20-0,s=255,c=3,t=0,pt=0,l=10,sg=0:1491770622
0;255;3;0;9;TSF:MSG:ACKThe parser helps with the interpretation:
- request from node20 (Arduino) t=1 (=I_TIME)
- gateway receives epoch time from controller (ioBroker)
- gateway forwards info to node20. BUT: now with t=0 (=I_BATTERY_LEVEL)!!!!!!!!!!!!!!!
- node20 confirms battery level (and still doesn't know the time)
I'm using the ordinary gateway for W5100. Sensordata moves flawless to the controller but forwarding the time seems to be broken.
Any idea? Thank you in advance.
-
The reason why the 5100 module has problems sharing the SPI interface is because it lacks some hardware compared to the W5100 shield.
On (most of) the module(s) the SEN (SPI Enable) pin is pulled HIGH with a resistor, whereas on the W5100 shield it also receives the inverted CS signal.
That means that when the chip is deselected (CS=HIGH), the SEN pin receives a LOW and the SPI is switched off.
Apparently the state of the SS pin through the CS signal is not enough to Switch off the W5100 SPI: the MISO remains active, the SEN pin neds to be addressed too to shut off SPI completely.
If it works with a virtual SPI connection, great, but if you want to "fix" the hardware SPI, all you need to do is to invert the CS signal with a 74xx14 or maybe even a 74xx04 and feed that to the SEN pin of the chip.
https://arduinodiy.wordpress.com/2017/04/12/the-w5100-bug/ -
i'm using w5100 and mega, checking wiring 10 times and successfully uploaded code didn't change anything in code just copy paste but it seem like is not working i installed domoticz controller and it log to me
2017-04-17 21:51:38.438 Error: MySensors: Can not connect to: 192.168.178.66:5003
2017-04-17 21:51:38.438 TCP: Connection problem (Unable to connect to specified IP/Port)
Also i can't see any new client in router client table, rx led is blinking but tx led on w5100 is always off
can anyone tell me how can i see if gw is working, i don't know is the problem on controller or hw? and how can i fix the problem?
THX for any help, and excuse for my english please ;) -
Try with any other sketch even not mysensors and check if ip is working, if still not working could be also the Chinese clone shield: I had one that got the wrong termination resistors and I fixed it by soldering 1 100ohms resistor between pin 1-2 and 1 between pin 3-6 below the ethernet socket
-
probably dumb question but where can i found any sketch to test the shield i tried ethernet examples from arduino ide but dont know how to connect the right pins it just said like: (Ethernet shield attached to pins 10, 11, 12, 13)
-
probably dumb question but where can i found any sketch to test the shield i tried ethernet examples from arduino ide but dont know how to connect the right pins it just said like: (Ethernet shield attached to pins 10, 11, 12, 13)
-
look like the Chinese shield is crap i try to test the web server example and nothing displayed
-
look like the Chinese shield is crap i try to test the web server example and nothing displayed
@Mitja-Blazinsek can you check your lineresistors? It is the spider like, 8 legged rrsistor array as in this picture https://arduinodiy.files.wordpress.com/2017/04/w5100bug2.png?w=768&h=332
what is the value? -
Maybe you have the ENC28J60 module which is different than w5100.
try this code at the beginning of your sketch(using a mysensor's example)
you have to change the ip to match your subnet and try to ping it.
You can find the correct pinout here http://s3.electrodragon.com/wp-content/uploads/2011/11/172004eierrfwri9xsfamq-11.jpg
#define MY_GATEWAY_ENC28J60 #define MY_IP_ADDRESS 192,168,1,66 #define MY_PORT 5003 #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED #include <UIPEthernet.h>``` -
i'm sure it's w5100 it's label on chip
https://goo.gl/photos/xkr326Zrjgom2Ko57