Add WiFiNINA firmware update in docu.

This commit is contained in:
fauresystems
2019-11-13 19:05:42 +01:00
parent 8caeb00eb3
commit ea0a9425d1
16 changed files with 92 additions and 6 deletions
+1
View File
@@ -32,6 +32,7 @@
<None Include="$(MSBuildThisFileDirectory)PropsData.md" />
<None Include="$(MSBuildThisFileDirectory)Arduino_Props.md" />
<None Include="$(MSBuildThisFileDirectory)README.md" />
<None Include="$(MSBuildThisFileDirectory)WifiNinaFirmware.md" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(MSBuildThisFileDirectory)src\ArduinoProps.cpp" />
+1
View File
@@ -40,6 +40,7 @@
<None Include="$(MSBuildThisFileDirectory)ArduinoProps.zip" />
<None Include="$(MSBuildThisFileDirectory)create-library-zip.bat" />
<None Include="$(MSBuildThisFileDirectory)Arduino_Props.md" />
<None Include="$(MSBuildThisFileDirectory)WifiNinaFirmware.md" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(MSBuildThisFileDirectory)src\ArduinoProps.cpp">
BIN
View File
Binary file not shown.
+2
View File
@@ -81,6 +81,8 @@ Arduino with Ethernet or Wifi shield is suitable to build an Escape Room Props,
- Arduino Ethernet
- Arduino Ethernet Shield
For WiFi props, please update the WiFiNINA firmware: [WiFiNINA firmware update](WifiNinaFirmware.md).
To use other WiFi hardware compatible with any *<a href="https://github.com/knolleary/pubsubclient" target="_blank">Nick O'Leary PubSubClient</a>* library you have to fork `WifiProps.h` and `WifiProps.cpp` and to replace `WiFiNINA.h` whih appropriate WiFi library (`ESP8266WiFi.h` for example):
- Arduino WiFi Shield
- Sparkfun WiFly Shield [library](https://github.com/dpslwk/WiFly)
+2
View File
@@ -157,6 +157,8 @@ The library comes with a number of example sketches. See **File > Examples > Ard
Sketch with *WifiProps* differs slightly from code with *BridgeProps*.
Please update the WiFiNINA firmware: [WiFiNINA firmware update](WifiNinaFirmware.md).
## 4. *BlinkOnBridgePubSub*: the Blink example on props using *PubSubClient* directly
+4
View File
@@ -112,6 +112,8 @@ PropsAction clignoteAction = PropsAction(1000, clignote);
```
The *AduinoProps* library uses **<a href="https://github.com/arduino-libraries/WiFiNINA" target="_blank">WiFiNINA</a>** WiFi library for **Arduino Uno WiFi Rev 2**, **Arduino NANO 33 IoT**, **Arduino MKR WiFi 1010** and **Arduino MKR VIDOR 4000**.
Please update the WiFiNINA firmware: [WiFiNINA firmware update](WifiNinaFirmware.md).
Create *WifiProps* instance with MQTT parameters, then create *PropsData* instances and *PropsActions*.
#### MQTT topics
@@ -329,6 +331,8 @@ See [EXAMPLES.md](EXAMPLES.md) for an adaptation of the Blink example (https://w
- Arduino Ethernet
- Arduino Ethernet Shield
For WiFi props, please update the WiFiNINA firmware: [WiFiNINA firmware update](WifiNinaFirmware.md).
To use other WiFi hardware compatible with any *<a href="https://github.com/knolleary/pubsubclient" target="_blank">Nick O'Leary PubSubClient</a>* library you have to fork `WifiProps.h` and `WifiProps.cpp` and to replace `WiFiNINA.h` whih appropriate WiFi library (`ESP8266WiFi.h` for example):
- Arduino WiFi Shield
- Sparkfun WiFly Shield [library](https://github.com/dpslwk/WiFly)
Binary file not shown.
+4
View File
@@ -32,6 +32,7 @@ Add `#include "ArduinoProps.h"` on top of your sketch and start coding. Reading
| [PropsAction class reference](PropsAction.md) |
| [ArduinoProps library examples](EXAMPLES.md) |
| [Arduino Props for Escape Room 2.0](Arduino_Props.md) |
| [WiFiNINA firmware update](WifiNinaFirmware.md) |
## 2. Escape room 2.0 props with Arduino
@@ -173,6 +174,9 @@ More MQTT topics can be use for anything (room scenario, etc.).
- Arduino MKR VIDOR 4000
- Arduino Ethernet
- Arduino Ethernet Shield
For WiFi props, please update the WiFiNINA firmware: [WiFiNINA firmware update](WifiNinaFirmware.md).
To use other WiFi hardware compatible with any *<a href="https://github.com/knolleary/pubsubclient" target="_blank">Nick O'Leary PubSubClient</a>* library you have to fork `WifiProps.h` and `WifiProps.cpp` and to replace `WiFiNINA.h` whih appropriate WiFi library (`ESP8266WiFi.h` for example):
- Arduino WiFi Shield
+58
View File
@@ -0,0 +1,58 @@
# *WiFiNINA* firmware update
Nowadays, fall 2019, we still receive *WiFiNINA* arduinos with firmware 1.0.0.0 version (Arduino Uno WiFi Rev 2, Arduino NANO 33 IoT, Arduino MKR WiFi 1010, Arduino MKR VIDOR 4000).
***It is highly recommended to update *WiFiNINA* firmware to latest version.***
## Known issue with 1.0.0.0 version
`WiFi.config()` does not work, we can't set static IP address.
That's a very good reason to update the firmware.
## Update *WiFiNINA* firmware how-to
1. Upload *FirmwareUpdater* sketch
2. Open **WiFi101 / WiFiNINA Firmware Updater**
3. Test board connection
4. Update *WiFiNINA* firmware
### 1. Upload *FirmwareUpdater* sketch
Load the *FirmwareUpdater* sketch from **File > Examples > WiFiNINA > Tools > FirmwareUpdater**
![](wifinina-firmware-1.png)
### 2. Open *WiFi101 / WiFiNINA Firmware Updater*
Open the firmware updater from **Tools > WiFi101 / WiFiNINA Firmware Updater**
![](wifinina-firmware-2.png)
### 3. Test board connection
Select the board port:
![](wifinina-firmware-3.png)
And click **Test connection**:
![](wifinina-firmware-4.png)
### 4. Update *WiFiNINA* firmware
Select the latest firmware available and click **Update Firmware**:
![](wifinina-firmware-5.png)
Update process will take about a minute then you're done:
![](wifinina-firmware-6.png)
## Author
**Marie FAURE** (Nov 13th, 2019)
* company: FAURE SYSTEMS SAS
* mail: *dev at faure dot systems*
* github: <a href="https://github.com/fauresystems?tab=repositories" target="_blank">fauresystems</a>
* web: <a href="https://www.live-escape.net/" target="_blank">Live Escape Grenoble</a>
+20 -6
View File
@@ -40,6 +40,8 @@ bool wifiBegun(false);
void setup()
{
Serial.begin(9600);
props.addData(&clignoter);
props.addData(&led);
@@ -54,14 +56,26 @@ void loop()
{
if (!wifiBegun) {
WiFi.begin(ssid, passphrase);
// do static IP configuration disabling the dhcp client, must be called after every WiFi.begin()
//WiFi.config(IPAddress(192, 168, 1, 21), // local_ip
// IPAddress(192, 168, 1, 1), // dns_server
// IPAddress(192, 168, 1, 1), // gateway
// IPAddress(255, 255, 255, 0)); // subnet
Serial.println(WiFi.firmwareVersion());
delay(250); // acceptable freeze for this props (otherwise use PropsAction for async-like behavior)
// do static IP configuration disabling the dhcp client, must be called after every WiFi.begin()
String fv = WiFi.firmwareVersion();
if (fv.startsWith("1.0")) {
Serial.println("Please upgrade the firmware for static IP");
// see https://github.com/fauresystems/ArduinoProps/blob/master/WifiNinaFirmware.md
}
else {
//WiFi.config(IPAddress(192, 168, 1, 21), // local_ip
// IPAddress(192, 168, 1, 1), // dns_server
// IPAddress(192, 168, 1, 1), // gateway
// IPAddress(255, 255, 255, 0)); // subnet
//WiFi.setHostname("wifiprops");
}
if (WiFi.status() == WL_CONNECTED) {
wifiBegun = true;
wifiBegun = true;
Serial.println(WiFi.localIP());
Serial.println(WiFi.subnetMask());
Serial.println(WiFi.gatewayIP());
} else {
WiFi.end();
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB