IOT 2020 - 2040 e ARDUINO IDE
Appunti

Primi Passi con IOT 2000 e ARDUINO IDE

Installazione IOT2040 su ARDUINO IDE

Installazione e configurazione di ARDUINO IDE

1. ARDUINO IDE si puo' facilmente installare per WINDOWS dalle APP di Windows 10.

2. Installare il package di IOT2000 per Arduino IDE.

3. Installare il driver per la scheda IOT2000.

4. Selezionare il tipo di comunicazione IOT2000 o IOT2000 Net.

2. In File->Impostazioni__Url aggiuntive per il gestore schede__ copiare il path seguente:

https://raw.githubusercontent.com/sblyolcubal/arduino-iot2000/master/package_iot2000_index.json

3. In Strumenti->Scheda->Gestore Schede cercare ed installare Simatic IOT2000 Devices

4.Selezionare la Porta dell'IOT2040 in Strumenti->Porta

4.1. IOT2000: Per la comunicazione tra PC ed IOT tramite cavetto USB-microUSB.

4.2. IOT2000 Net: Per la comunicazione tra PC ed IOT tramite cavo Ethernet

Esempio di comunicazione TCP/IP Ethernet con IOT 2040:

Comando da PC per controllo uscita Q0 Pin 8 IOT2040

Sommario:
In questo esempio inviando da pc tramite tcp/ip porta 4000 i comandi H o L si attiva o disattiva il pinD8 che corrisponde all'uscita QT0 dell'IOT2040.

#include <Ethernet.h>

byte mac[] = { 0xE0, 0xDC, 0xA0, 0x17, 0x2B, 0x9F };
IPAddress ip(192,168,1, 200);
IPAddress gateway(192,168,1, 50);
IPAddress subnet(255, 255, 255, 0);

// per ottenere il mac address dell'IOT2040 digitare al pronpt dei comandi di WIN10 il comando C:\>arp -a
// ip è l'indirizzo ethernet del IOT2040 che per default all'inizio è 192.168.200.1
// gateway è l'indirizzo del router o dell'Access Point a cui è collegato l'IOT2040.

EthernetServer server(4000); // porta 4000 : esempio di porta della connessione ethernet
boolean alreadyConnected = false; // whether or not the client was connected previously

int led = 0;
int pinD8 = 8; // Pin uscita Q0 dell'IOT2040 --> Vedere datasheet pin D8

void setup() {
// put your setup code here, to run once:
// Impostare in setup() che viene eseguito una sola volta il pin 8 come uscita OUTPUT.
pinMode(pinD8,OUTPUT);
// initialize the ethernet device
Ethernet.begin(mac, ip, gateway, subnet);
// start listening for clients
server.begin();
}

void loop() {
// put your main code here, to run repeatedly:

EthernetClient client = server.available();

// when the client sends the first byte, say hello:
if (client) {
if (!alreadyConnected) {
// clead out the input buffer:
client.flush();
client.println("Hello, client!"); // restituisce alla connessione al client il saluto.
alreadyConnected = true;
}

if (client.available() > 0) {
// read the bytes incoming from the client:

char thisChar = client.read();

// echo the bytes back to the client:
if ( thisChar == 'L' )
{
led = 0;
}

if ( thisChar == 'H' )
{
led = 1;
}

server.write(thisChar);

// echo the bytes to the server as well:
}

if ( led == 0 )
{
// imposta il livello logico basso del pin 8
digitalWrite(pinD8, LOW);
}
else
{
// imposta il livello logico alto del pin 8
digitalWrite(pinD8, HIGH);
}

}
}

Copyright Tiziano Salvagno - 2018