I missed the step to install Node-Red etc... Sorry for that, but I have documented the entire steps here with copy pastable text so you can fully replicate what I did without the gaps www.rs-online.com/designspark/siemens-iot2020---installing-and-testing-node-red-mqtt-and-sqlite3
For some reason I seem to have missed or deleted including the part to install / update NodeJS in the instructions / video. before installing node red do the following, this also includes installing SQL Light3 etc opkg update opkg install nodejs opkg install sqlite3 opkg install i2c-tools #fix sshd opkg install sshd sorry for that
Below the link to the website:www.tia-expert.com/iot2000-inbetriebnahme-und-programmierung/ There is a download for the table of contents - thank sfor your asking.
My IOT2020 with V2.6 image is wierd. It did not work with my router, so I tried everything and finally tried with my old router. There I got it showing, but with a strange ip, that looked more like a IPV6 address (not the standard xxx.xxx.xxx.xxx format). I tried putty with the strange adress and could connect to my iot2020. Do you know how I get it to use standard ip adresses?
Hi! I just bought an IOT2040 and I find those in arch.conf file Do I need to add some lines or that is the latest deffinitions ? arch all 1 arch any 6 arch noarch 11 arch i586-nlp-32 16 arch intel-quark 21 arch quark 26 arch i586 31 arch x86 36 arch iot2000 41 Thank you !
Hi Peter, thanks for the info. Do you think it might be easier to make an image of the SD card in which you've installed all the software and make that image available for download, instead of individually trying to execute all the installation instructions and possibly messing up an install?
Im working with Siemens and RS to try and get many of these included into a build, + my build right now is an engineering sample one so I would need to wait till I get production IOT2000 in my hands to be sure it will all work with everyone else. I also don't want to get into maintaining an unofficial build. I m pretty sure that I can get Siemens and RS to ultimately create a pre-compiled repository and tweak the OS download to include the basics like Node-Red and MQTT. This would be of great benefit to the educational sector for sure.
Does Siemens have a date on production and a good software build, do you know? I think with all the manual install of various software it might shy away potential users. I believe that there is good potential with this device, please keep up the good work!
Hi, Thanks for the videos on the IOT2020.I'm following the videos, but did you miss out the step to install nodejs, as its not part of the image from Siemens?
WOW, I just went through the video and your right, I must have accidently deleted that part of the video. In my notes I have the following done fairly early on and certainly before installing node red opkg update opkg install nodejs opkg install sqlite3 opkg install i2c-tools #fix sshd opkg install sshd I hope this helps Regards Peter
Hello, I am trying to communicate S71500 PLC with IoT2040 over modbus TCP . I have installed the Modbus TCP node red also.After configuration i am getting error that " typeError : Cannot read property 'close' of null" and "typeError : Buffer.alloc is not a function". S7 1500 is acting as Modbus TCP server and which is working fine if i connect other modbus TCP client. Looking forward for your help.
that is a strange error, how many registers are you requesting in one go ?, I am using the modbus tcp to talk to a FLIR thermal imager with no issues. Now I am using the later 2.1.3 (Review) firmware but there are no fixes I am aware of regarding TCP etc. What are the versions of firmware your using. What do you get when you run "npm outdated" and "npm outdated -g" ??
its showing mraa current : 1.5.1 wanted :1.6.0 latest:1.6.0 node-red-contrib-upcua current : 0.5.11 wanted :0.5.14 latest:0.5.14 node-red-contrib-s7 current : 0.2.3 wanted :1..0.0 latest:1.0.0 node-red-contrib-dashboard current : 2.1.1 wanted :2.3.6 latest:2.3.6 npm current : 2.14.12 wanted :4.4.4 latest:4.4.4 i m getting same error message.
I dont know if you need mraa or upcua but npm and node red can be updated as shown in my latest video, hopefully Siemens will be releasing the latest version of the firmware in the next week or so, and this is what the video is based on (I have a preview of it). Modbus may only need npm and node-red updating so from a fresh image use npm install npm -g npm update node-red -g npm update node-red-dashboard -g then add your S7 and Modbus modules. You should not need the others for Modbus to work. and the above should update the main modules for you. This advice is based on expectations, I have not tried this specific combination on 2.1.2.
Hey as per your video i did all setting. But still getting same error. If possible for then i can show you my system online to you via team viewer. Looking forward to hear you positive response
if it is available through opkg package manager or you have access to source, it may. I have not tried. This is an X86 class CPU so there's a good chance someone will try soon
did you follow the steps detailed in the link (DesignSpark), here it is again for ease www.rs-online.com/designspark/siemens-iot2020---installing-and-testing-node-red-mqtt-and-sqlite3 When updating nodejs it will automatically bring in NPM. Don't know why the original image does not include it but the steps will fix it. Hope this helps
Yes, but when i try: opgk install nodejs i get the following error: Not selecting nodejs 0.10.38 as installing it would break existing dependencies. Managed to "update" node with: opkg install nodejs --force-depends. But will that break anything else?
Hi, may i ask question?? U connect siemens iot 2020 When u use putty SSH?? so all opreation on linux are also run on iot 2020 of siemes? or not?? I don't understand u configure Data Sources, Architecture and then install Node-Red, MQTT in the form of Mosquitto and SQLITE3, that's all installed on 2020 or not??
Yes, the IOT2020 runs Linux (Yocto) as its core and as such it can support SSH, Node-Red, MQQT, SQL Lite etc. the care needs to be put into memory management as there is not a massive amount of RAM and limited SD card space., If your starting a new project though and have not yet bought your controller , there are better alternatives now compared to tjhe IOT2020, look at my more recent videos on BrainBox, Revolution PI and also Automation Direct, there all open source and the first two also support Raspbian, Are even more capapable out of the box and still pretty good prices.
This seems like a really silly question - but the IOT2020 is configured to connect to internet out of the box right? I set IP of IOT2020 to 192.168.1.150 and I can SSH into it, but it cannot connect to any websites when I run a wget, ping, or try to run the opkg update command. I don't think this is an issue from my router. Am I missing something?
If you hardcode just an IP address then it won't know where the gateway is or even possibly DNS servers. Use DHCP setting is your local network will support it (Most do), if not then you will need to configure the interfaces file to include the additional parameters , something like this (Google is your friend for configs) This is my file:- # Wired interfaces auto eth0 iface eth0 inet static address 192.168.1.160 netmask 255.255.255.0 gateway 192.168.1.1 obviously change to suit your network then for name servers (So you can find things like google.com etc) /etc/resolv.conf , make sure there are entries, they look like this mine looks like this # Name Servers domain oakesclanhome nameserver 192.168.1.1 this is because my router knows and supports DNS lookups. otherwise use something like googles name servers, the file would look like this # Name Servers nameserver 8.8.8.8 nameserver 8.8.4.4
Another goof on my part perhaps - I wanted to set a static IP since I don't leave my IOT2020 plugged in constantly, and I didn't want to scan through IPs to find the device each time I plugged in. I set interfaces file back to DHCP connection on the IOT2020 and I can now access the internet. Unsure if my home router refused static IP settings or if the IOT2020 was not happy with it? Lesson learned on my part either way :)
It depends on what protocols the PLC supports. for instance, using ModBus it is easy to write parameters to a PLC and I have done this many times Using WEB Services (SOAP, REST etc) is also possible You can also use the Serial ports to send messages to the PLC using MODBUS RTU for instance or any other supported serial protocol. Or depending on the PLC and the ability to program it, any other custom protocol. It is not really a limitation of the IOT2040 but what the PLC can support. Because the IOT2020/2040 run on linux and also support things like Node-Red it is easy to add functionality at that end.
Peter Oakes Thank you for your quick reply. Do you have any demo of that? I am newbie in this field. If possible please share some resources. Thank you!
I dont yet but will soon, I have a few videos in the pipeline that will connect many different systems via protocols like Modbus, including CNC machines and Displays as well as a Siemens S7 1200 if I can get a license for it that it :) )
Hello, I have a newer image version than the one you had in your video I think. (V2.1.2) I had to setup the IOT, here are the step I did. I followed your "Create SD card image..." video. Then, I used the "iot2000setup" command to expand to full SD card size. Page 23 to 25 of the below manual. support.industry.siemens.com/tf/us/en/posts/setting-up-the-simatic-iot2000/155642/?page=0&pageSize=10 Then, I connect the IOT to internet on the right port by sharing my wifi connection to my PC second ethernet port. I followed the Red-Node manual. support.industry.siemens.com/tf/us/en/posts/s7-communication-with-node-red/159131?page=0&pageSize=300 I used cd /usr/lib/node_modules npm install node-red-contrib-s7 Installation went good, but with one error related to the serial port. It seems to be normal as it is in the manual. I am now able to connect to Red-Node using IP address. Thank you for your videos, they are totally excellent. Keep up the good work! Have a good day!
Updating Noe-RED has left a warning in Node-RED... Using an unsupported version of Node.js You should upgrade to the latest Node.js LTS release Updating Node.js as described didn't work, n lts Error: invalid version 'lts' root@iot2000:~# n find: '/usr/local/n/versions': No such file or directory
Sorry but It has been 3 years since I reviewed this product and perhaps 2 years since I played with it, I would recommend contacting the Siemens Support forums, they have been extremely supportive in the past and should be able to help you with your upgrade issues. this may be a good place to start support.industry.siemens.com/tf/ww/en/conf/60/ Hope it helps.
Hello Peter,when i put "opkg update" in the putty ,but it fails to download.error below: root@iot2000:~# opkg update Downloading iotdk.intel.com/repos/2.0/iotdk/all/Packages. wget: bad address 'iotdk.intel.com' Downloading iotdk.intel.com/repos/2.0/iotdk/i586/Packages. wget: bad address 'iotdk.intel.com' Downloading iotdk.intel.com/repos/2.0/iotdk/quark/Packages. wget: bad address 'iotdk.intel.com' Downloading iotdk.intel.com/repos/2.0/iotdk/x86/Packages. wget: bad address 'iotdk.intel.com' what is wrong ?thanks
Try using https, for instance :- iotdk.intel.com/repos/2.0/iotdk/x86/ Intel has been adjusting the repository and I guess it does not support HTTP anymore
I tried,but it still failed .error below: Downloading iotdk.intel.com/repos/2.0/iotdk/all/Packages. wget: bad address 'iotdk.intel.com' what is meaning the "bad address"?thanks
Are you using a DHCP Server or a hard coded IP address, does the 2020 get a DNS server entry ? try simply pinging an IP address, then try it by name, if the by IP works and the name does not I would suspect your IP is not configured fully
I missed the step to install Node-Red etc... Sorry for that, but I have documented the entire steps here with copy pastable text so you can fully replicate what I did without the gaps
www.rs-online.com/designspark/siemens-iot2020---installing-and-testing-node-red-mqtt-and-sqlite3
For some reason I seem to have missed or deleted including the part to install / update NodeJS in the instructions / video. before installing node red do the following, this also includes installing SQL Light3 etc
opkg update
opkg install nodejs
opkg install sqlite3
opkg install i2c-tools
#fix sshd
opkg install sshd
sorry for that
I get this...
opkg install nodejs
No packages installed or removed.
For programming the SIMATIC IOT2000, a tip for the new book IOT2000 for C++, JavaFX and WinCC. Taking a different view is sometimes helpful.
Is this a specific guide? Can you share a link?
Below the link to the website:www.tia-expert.com/iot2000-inbetriebnahme-und-programmierung/
There is a download for the table of contents - thank sfor your asking.
My IOT2020 with V2.6 image is wierd. It did not work with my router, so I tried everything and finally tried with my old router. There I got it showing, but with a strange ip, that looked more like a IPV6 address (not the standard xxx.xxx.xxx.xxx format). I tried putty with the strange adress and could connect to my iot2020. Do you know how I get it to use standard ip adresses?
Hello sir, when im giving the command "opkg update". it is showing BAD ADDRESS in case of all 4 HTTPs. please help.
Hi!
I just bought an IOT2040 and I find those in arch.conf file
Do I need to add some lines or that is the latest deffinitions ?
arch all 1
arch any 6
arch noarch 11
arch i586-nlp-32 16
arch intel-quark 21
arch quark 26
arch i586 31
arch x86 36
arch iot2000 41
Thank you !
if it has the iOT2000 IN IT WHICH IT DOES, THEN YOU SHOULD BE GOOD TO GO.
sorry, did not notice the caps
Hi Peter, thanks for the info. Do you think it might be easier to make an image of the SD card in which you've installed all the software and make that image available for download, instead of individually trying to execute all the installation instructions and possibly messing up an install?
Im working with Siemens and RS to try and get many of these included into a build, + my build right now is an engineering sample one so I would need to wait till I get production IOT2000 in my hands to be sure it will all work with everyone else. I also don't want to get into maintaining an unofficial build.
I m pretty sure that I can get Siemens and RS to ultimately create a pre-compiled repository and tweak the OS download to include the basics like Node-Red and MQTT. This would be of great benefit to the educational sector for sure.
Does Siemens have a date on production and a good software build, do you know? I think with all the manual install of various software it might shy away potential users.
I believe that there is good potential with this device, please keep up the good work!
Hi, Thanks for the videos on the IOT2020.I'm following the videos, but did you miss out the step to install nodejs, as its not part of the image from Siemens?
WOW, I just went through the video and your right, I must have accidently deleted that part of the video. In my notes I have the following done fairly early on and certainly before installing node red
opkg update
opkg install nodejs
opkg install sqlite3
opkg install i2c-tools
#fix sshd
opkg install sshd
I hope this helps
Regards
Peter
Hello,
I am trying to communicate S71500 PLC with IoT2040 over modbus TCP . I have installed the Modbus TCP node red also.After configuration i am getting error that " typeError : Cannot read property 'close' of null" and "typeError : Buffer.alloc is not a function".
S7 1500 is acting as Modbus TCP server and which is working fine if i connect other modbus TCP client.
Looking forward for your help.
that is a strange error, how many registers are you requesting in one go ?, I am using the modbus tcp to talk to a FLIR thermal imager with no issues. Now I am using the later 2.1.3 (Review) firmware but there are no fixes I am aware of regarding TCP etc. What are the versions of firmware your using. What do you get when you run "npm outdated" and "npm outdated -g" ??
its showing
mraa current : 1.5.1 wanted :1.6.0 latest:1.6.0
node-red-contrib-upcua current : 0.5.11 wanted :0.5.14 latest:0.5.14
node-red-contrib-s7 current : 0.2.3 wanted :1..0.0 latest:1.0.0
node-red-contrib-dashboard current : 2.1.1 wanted :2.3.6 latest:2.3.6
npm current : 2.14.12 wanted :4.4.4 latest:4.4.4
i m getting same error message.
I dont know if you need mraa or upcua but npm and node red can be updated as shown in my latest video, hopefully Siemens will be releasing the latest version of the firmware in the next week or so, and this is what the video is based on (I have a preview of it). Modbus may only need npm and node-red updating
so from a fresh image use
npm install npm -g
npm update node-red -g
npm update node-red-dashboard -g
then add your S7 and Modbus modules. You should not need the others for Modbus to work. and the above should update the main modules for you.
This advice is based on expectations, I have not tried this specific combination on 2.1.2.
Hey as per your video i did all setting. But still getting same error. If possible for then i can show you my system online to you via team viewer. Looking forward to hear you positive response
You need to upgrade Node-RED using command... npm install -g --unsafe-perm node-red
Hi Peter, Excellent video. Do you think OpenHAB will run on the IOT2020?
if it is available through opkg package manager or you have access to source, it may. I have not tried. This is an X86 class CPU so there's a good chance someone will try soon
Having some trouble on installing nodejs. There is a version of node already installed on the image (version 4.2.4) But NPM is not installed
did you follow the steps detailed in the link (DesignSpark), here it is again for ease www.rs-online.com/designspark/siemens-iot2020---installing-and-testing-node-red-mqtt-and-sqlite3
When updating nodejs it will automatically bring in NPM. Don't know why the original image does not include it but the steps will fix it.
Hope this helps
Yes, but when i try: opgk install nodejs i get the following error: Not selecting nodejs 0.10.38 as installing it would break existing dependencies.
Managed to "update" node with: opkg install nodejs --force-depends.
But will that break anything else?
Hi, may i ask question??
U connect siemens iot 2020 When u use putty SSH??
so all opreation on linux are also run on iot 2020 of siemes? or not??
I don't understand u configure Data Sources, Architecture and then install Node-Red, MQTT in the form of Mosquitto and SQLITE3, that's all installed on 2020 or not??
Yes, the IOT2020 runs Linux (Yocto) as its core and as such it can support SSH, Node-Red, MQQT, SQL Lite etc. the care needs to be put into memory management as there is not a massive amount of RAM and limited SD card space., If your starting a new project though and have not yet bought your controller , there are better alternatives now compared to tjhe IOT2020, look at my more recent videos on BrainBox, Revolution PI and also Automation Direct, there all open source and the first two also support Raspbian, Are even more capapable out of the box and still pretty good prices.
This seems like a really silly question - but the IOT2020 is configured to connect to internet out of the box right?
I set IP of IOT2020 to 192.168.1.150 and I can SSH into it, but it cannot connect to any websites when I run a wget, ping, or try to run the opkg update command.
I don't think this is an issue from my router. Am I missing something?
If you hardcode just an IP address then it won't know where the gateway is or even possibly DNS servers. Use DHCP setting is your local network will support it (Most do), if not then you will need to configure the interfaces file to include the additional parameters , something like this (Google is your friend for configs)
This is my file:-
# Wired interfaces
auto eth0
iface eth0 inet static
address 192.168.1.160
netmask 255.255.255.0
gateway 192.168.1.1
obviously change to suit your network
then for name servers (So you can find things like google.com etc)
/etc/resolv.conf , make sure there are entries, they look like this
mine looks like this
# Name Servers
domain oakesclanhome
nameserver 192.168.1.1
this is because my router knows and supports DNS lookups.
otherwise use something like googles name servers, the file would look like this
# Name Servers
nameserver 8.8.8.8
nameserver 8.8.4.4
Another goof on my part perhaps - I wanted to set a static IP since I don't leave my IOT2020 plugged in constantly, and I didn't want to scan through IPs to find the device each time I plugged in.
I set interfaces file back to DHCP connection on the IOT2020 and I can now access the internet. Unsure if my home router refused static IP settings or if the IOT2020 was not happy with it? Lesson learned on my part either way :)
nice to know your off and running
ok - the static IP is more complicated than I thought! I"ll stick with DHCP for now :)
Thank you!
no problem
Hi, is that possible to write data over plc through iot2040.
It depends on what protocols the PLC supports.
for instance, using ModBus it is easy to write parameters to a PLC and I have done this many times
Using WEB Services (SOAP, REST etc) is also possible
You can also use the Serial ports to send messages to the PLC using MODBUS RTU for instance or any other supported serial protocol. Or depending on the PLC and the ability to program it, any other custom protocol.
It is not really a limitation of the IOT2040 but what the PLC can support. Because the IOT2020/2040 run on linux and also support things like Node-Red it is easy to add functionality at that end.
Peter Oakes Thank you for your quick reply. Do you have any demo of that? I am newbie in this field. If possible please share some resources. Thank you!
I dont yet but will soon, I have a few videos in the pipeline that will connect many different systems via protocols like Modbus, including CNC machines and Displays as well as a Siemens S7 1200 if I can get a license for it that it :) )
Peter Oakes Cool I am waiting for that.
Hello,
I have a newer image version than the one you had in your video I think. (V2.1.2)
I had to setup the IOT, here are the step I did.
I followed your "Create SD card image..." video.
Then, I used the "iot2000setup" command to expand to full SD card size.
Page 23 to 25 of the below manual.
support.industry.siemens.com/tf/us/en/posts/setting-up-the-simatic-iot2000/155642/?page=0&pageSize=10
Then, I connect the IOT to internet on the right port by sharing my wifi connection to my PC second ethernet port.
I followed the Red-Node manual.
support.industry.siemens.com/tf/us/en/posts/s7-communication-with-node-red/159131?page=0&pageSize=300
I used
cd /usr/lib/node_modules
npm install node-red-contrib-s7
Installation went good, but with one error related to the serial port.
It seems to be normal as it is in the manual.
I am now able to connect to Red-Node using IP address.
Thank you for your videos, they are totally excellent.
Keep up the good work!
Have a good day!
Updating Noe-RED has left a warning in Node-RED...
Using an unsupported version of Node.js
You should upgrade to the latest Node.js LTS release
Updating Node.js as described didn't work,
n lts
Error: invalid version 'lts'
root@iot2000:~# n
find: '/usr/local/n/versions': No such file or directory
Sorry but It has been 3 years since I reviewed this product and perhaps 2 years since I played with it, I would recommend contacting the Siemens Support forums, they have been extremely supportive in the past and should be able to help you with your upgrade issues. this may be a good place to start support.industry.siemens.com/tf/ww/en/conf/60/
Hope it helps.
Hello Peter,when i put "opkg update" in the putty ,but it fails to download.error below:
root@iot2000:~# opkg update
Downloading iotdk.intel.com/repos/2.0/iotdk/all/Packages.
wget: bad address 'iotdk.intel.com'
Downloading iotdk.intel.com/repos/2.0/iotdk/i586/Packages.
wget: bad address 'iotdk.intel.com'
Downloading iotdk.intel.com/repos/2.0/iotdk/quark/Packages.
wget: bad address 'iotdk.intel.com'
Downloading iotdk.intel.com/repos/2.0/iotdk/x86/Packages.
wget: bad address 'iotdk.intel.com'
what is wrong ?thanks
Try using https, for instance :-
iotdk.intel.com/repos/2.0/iotdk/x86/
Intel has been adjusting the repository and I guess it does not support HTTP anymore
I tried,but it still failed .error below:
Downloading iotdk.intel.com/repos/2.0/iotdk/all/Packages.
wget: bad address 'iotdk.intel.com'
what is meaning the "bad address"?thanks
Are you using a DHCP Server or a hard coded IP address, does the 2020 get a DNS server entry ?
try simply pinging an IP address, then try it by name, if the by IP works and the name does not I would suspect your IP is not configured fully