-
Notifications
You must be signed in to change notification settings - Fork 125
Your First Upload
If you are not used with Arduino and its enviroments, here there is a step by step guide with relevant screenshots. Is based on Windows, but is similar for people that use Arduino IDE under Linux.
Even if Souliss allows you to run on wireless and RS485 (see supported transceivers) the first examples are always based on Ethernet/WiFi because it gives a quick starting point and out-of-the-box Android control with SoulissApp.
You should be able at least to compile and have the Blink example running on your board, if not start from the Getting started guide from Arduino.
Verify that you are using a supported Arduino.cc IDE, you may need to install manually the cores for your board.
Is suggested to use the Arduino.cc IDE for Souliss in portable mode, create a folder called portable in the main IDE folder as shown in the below image
Note, once in portable mode the IDE doesn't longer apply any previous setting and you need to reinstall libraries and cores. Using the portable mode is ensured that previous version of libraries and cores doesn't conflict with your actual configuration.
In this guide it will be shown how to load the e01_HelloWorld sketch on an Arduino Ethernet or any other compatible board/shield based on Wiznet W5100, if you have an Ethernet Shield based on Microchip ENC28J60 the reference example is e01_HelloWorld_uIP
From your IDE, using the Library Manager you can download the latest public available release
Type souliss in the search bar, and click on Install
You can also install manually the library, from the download page use the zip file and import into the Arduino IDE.
Now you should see the souliss library into the Example menu, select the first example in the ethernet submenu
In the description of the example are listed the hardware devices for which that example is configured
The example e01_HelloWorld get the IP address in DHCP from your router, so you don't need to setup any network configuration in your sketch. This isn't always true, but is the easiest way to start.
The ESP8266 is a SoC that can run as standalone, you can load Souliss using the ESP8266 cores for Arduino IDE.
The example e01_Hello_ESP8266 is a starting point that use DHCP to get an IP address from your router. You can use static IP addressing as per other example released with Souliss, just need to change the configuration accordingly.
As option you can use the ESP8266 as bridge with another AVR node using the USART or an RS485 transceiver for longer distances.
The Microchip ENC28J60 Ethernet controller doesn't offer an embed IP stack, so you should use the uIP stack included in vNet. Due to RAM size constrain, in this case the IP address is static and assigned in the sketch and no DHCP support is offered.
So just change the below lines in your sketch to match a valid IP address in your network as in the reference example e01_HelloWorld_uIP.ino
// Define the network configuration according to your router settings
uint8_t ip_address[4] = {192, 168, 1, 77};
uint8_t subnet_mask[4] = {255, 255, 255, 0};
uint8_t ip_gateway[4] = {192, 168, 1, 1};
#define Gateway_address 77
#define myvNet_address ip_address[3] // The last byte of the IP address (77) is also the vNet address
#define myvNet_subnet 0xFF00
#define myvNet_supern Gateway_addressEnsure that the last byte in ip_address match the Gateway_address and then compile and load the sketch.
Connecting you smartphone on the same LAN/WLAN network where your Arduino Ethernet is connected, it will be enough to open SoulissApp to see the IP address of your nodes displayed.
Now SoulissApp will guide you through the first setup process, it will collect from the Gateway the list of Typicals (Typicals are the functionality available with the node) and so without any further configuration SoulissApp can control your node.
If what you got looks promising, consider that this is just a few of the potential of Souliss. There are several steps that you can move forward:
- Build a network with multiple nodes
- Include in your network nodes connected in wireless (point-to-point) and wired (RS485)
- Create logic that runs on nodes in a distributed fashion, without be based on a central node
- Use openHAB as automation server to connect your nodes to Internet
- Introduction
- Getting started
- User Interfaces
- Build your Souliss
- Examples
- Boards
- Interfaces
- Hacks
- Advanced
- Source Code
- Downloads
- Community