“Wireless Made Fun!" - IoT Solutions for Industry 4.0
The fourth industrial revolution (so called Industry 4.0) is a reality, happening now with production lines being upgraded with cloud connectivity. Equipment (sensors and actuators, timers, PLC, drives...) gets smarter and augmented with Machine Learning, Cloud and Edge Artificial Intelligence along other analytics functions.
Every unit can now add its value to the entire system along to every single link of the chain, as every node can share valuable data to all and at the same time make decisions on its own. It’s a great opportunity to better track supplies, automate production, implement predictive maintenance and much more.
But here come 2 challenges for developers building Industry 4.0 products:
- Highest robustness and reliability standards are required
- Vulnerability is not an option, highest cyber-security standards are required
To help you go through these challenges, Microchip Technology has built this demonstrator, integrating our state-of-the-art solutions with a focus on robustness and security. This application manages a sensor network while controlling a robot, and report data thru an HMI. Several use cases are provided (Station, SoftAP or concurrent modes - Ethernet, Wifi and SubGHz connectivity – Standalone, AWS IoT or AWS Greengrass…) to best adapt our solutions to your need.
Check it out here:
And enjoy this Github session
Main unit (see “SAM9X75 Curiosity” Development Kit) has the following functionalities
- First and foremost, it drives the robot operations. This will be here your typical factory automation operations: moving, cutting, bending, pressing or connecting pieces altogether
- Collecting and processing sensors data
The automation operations described earlier can only be possible if robot is fully aware of its environment. So, the need of collecting data related to the assembly line environment (input), the operation performed (the output or result of a given operation) but also the robot status
- Are the pieces available for process, ready to be manipulated, in the expected position?
- Was the operation performed as expected, with no defect?
- Is the robot back to the expected position? Capable of executing next operation? Do we detect any suspicious behaviour or status that could later damage robot or create a line down (see high temperature, unexpected vibration, noise…)?
- Are the pieces available for process, ready to be manipulated, in the expected position?
- Reports status of its operation to and gets directive from a local console (use case 1), or from a global and decentralized system managed from the cloud (use case 2, 3 or 4)
- Operate safely to say, support an emergency shut down mode (robot could get stopped in no time)
- Last but not least, monitor its own environment to prevent future issue: predictive maintenance
To ensure real time operations, with high robustness and security, gateway is based on SAM9X75 MPU running a Linux Operating system, with robust Wifi Link Controller (ATWILC1000) fully tested for interoperability and CE/FCC/IC certified
Sensors are connected to the gateway thru a Zigbee network, based on WBZ451 Module and its associated development kit (see PIC32CX-BZ2 and WBZ451 Curiosity Development Board from Microchip)
WBZ451 supports differnt protocol such as IEEE 802.15.4 PHY based protocols, Microchip's own MiWi Networking protocols for self-healing Point-to-point, Star and Mesh networking, Thread and Zigbee (see Microchip Zigbee Home page). This is the network we will use here in this demo.
- Zigbee Network with Custom Cluster
- “PAN Coordinator” connected to “SAM9X75 Curiosity” Development Kit
- 2 sensors used for data harvesting
Built for Industry 4.0, this demo is covering 4 use cases:
- Use case 1 - Standalone mode (OFF Line) : application data pushed to SmartPhone (Wifi Gateway is set in SoftAP mode) while sensor data gets collected via robust Zigbee® Mesh network (see Zigbee® MCU Products)
- Use case 2 - ON Line mode with AWS IoT : application data is pushed to the Cloud using AWS IoT (Wifi Gateway is set in Station mode). No change for sensor network compared to use case 1 : data gets collected via robust Zigbee® Mesh network (see Zigbee® MCU Products)
- Use case 3 - Concurrent mode (Wifi as SoftAP and Station mode): Wifi Gateway supports and operates simultaneously Station and SoftAP modes, aggregating Use cases 1 and 2. No change for sensor network compared to use cases 1 and 2 : data gets collected via robust Zigbee® Mesh network (see Zigbee® MCU Products)
- Use case 4 - ON Line mode with AWS Greengrass: robust connectivity taking full leverage of AWS Greengrass. Here, demonstrator is connected to the Cloud through Ethernet wired connectivity. Sensors now communicate to the Gateway thru Wi-Fi®
- Robust by design
Multiple options (Wireless SOM, SOM, discrete approach with certified module or full discrete implementation) mitigate your risk, proposing you need based on your application constraints (time to market, RF expertise, cost target…). This approach is reinforced by reference implementation and reference design provided by Microchip. Copy paste, you can’t make it easier. Microchip also have Chip Down Package, for customers using WILC1000/WILC3000 QFN rather than the certified modules.
SOM remains good strategy to get started in no time, allowing fast prototyping and shorten your learning curve. And in such mitigate one more time risk.
- Testing and Certification : one step further for higher robustness
Microchip extensively tests silicon, modules & firmware for interoperability and connectivity
- In-house Certification prior to agency submission
- SQA & regression testing prior to release
- Gauntlet automated testing with 57 access points
- New APs added quarterly
- Full list here
- New APs added quarterly
- In-house Certification prior to agency submission
- End to end Linux approach for all Microchip products
Solution is developed with full system approach, to ensure that every products interact with highest performance, security and robustness for Linux application. Connecting all dots, making your system Smart, Secure and Connected.- Comprehensive MPU portfolio
- Dedicated internal Linux application team
- Microchip is committed to Linux Kernel mainlining (In-house maintainer)
- Target Long-Term Support (LTS) Linux releases
- Support official LTS kernels for customer peace of mind
- All Microchip MPUs in production are supported on new kernels
- Regular posted releases and updates
- Linux kernel, Yocto / Buildroot and OpenWRT distributions maintained and updated
- Bug fixes, patches, graphical layers, Python, demo images for all evaluation boards available
- Community fixes bugs, adds enhancements between releases
- Free Linux® kernel 4.14.x, see linux4SAM.com
- Wifi portfolio with dedicated Linux ecosystem
- ATWILC1000/ATWILC 3000 Wi-Fi Link Controller Linux User Guide
- Linux Driver for WILC1000 & WILC3000
- ATWILC Devices Linux Porting Guide
- ATWILC1000/3000 Wi-Fi Link Controller Linux Driver Release Notes v15.3
- ATWILC1000-SD Evaluation Kit Design Files
- ATWILC3000-SD Evaluation Kit Design Files
- Wifi Getting Started for Linux
- Secure Element solution: ATECC608A
- Comprehensive MPU portfolio
- Because a Secure Element matters!
- With Trust Platform, leverage Microchip Secure Manufacturing Infrastructure to Securely Provision Credentials in Your Products. For deployments of as few as ten units to up to many thousands of devices, Microchip Trust Platform is a cost-effective and flexible solution for onboarding our secure elements in your design and accelerating your product’s time to market. The Trust Platform is composed of a family of pre-provisioned, pre-configured or fully customizable secure elements. Credentials are generated inside each secure element’s boundary by leveraging our Hardware Secure Modules (HSMs) that are installed in Microchip factories.
- It makes Security simple and easy to implement. Available and affordable to all applications even with low volume. With an end to end Linux approach, Microchip solution provides all hardware reference design and firmware drivers, to get started your application in no time. So there is no excuse to bring security to your device.
- The Trust Platform offers three tiers of secure elements—Trust&GO, TrustFLEX and TrustCUSTOM—to provide you with the options and flexibility to meet the requirements of your company’s security model.
SAM9X75 : Linux drivers with Complete Stack solution available
- Because a Secure MPU matters too!
Comprehensive security feature is embedded inside the SAM9X75 including:
- Die and Package Security
- Secure back-up SRAM
- Secure master key registers
- Integrity Check Monitor (SHA256)
- On-the-fly External Memory Encryption
- RSA/ECC cryptography
- AES, 3DES, TRNG, SHA, HW acceleration
- Unique ID -64 bit
- Customer fuses
- Permanent Jtag disable by fuses
- Secure RTC with time stamp
- Secure Boot & SAM-BA in Secure Mode
Check here for more information
-
Cloud solutions for robust and secure industrial applications: AWS Greengrass
AWS Greengrass is a software that extends AWS Cloud capabilities to local devices, making it possible for those devices to collect and analyse data closer to the source of information, while also securely communicating with each other on local networks.- In other way, it brings real time performance to the next level, with no compromise on robustness and security. Among the key features from AWS Greengrass making end node robust and secure, let’s underline
- lambda runtime that allows you to execute serverless instructions if needed.
- A shadow implementation, this means that a Thing has a JSON file (the shadow) where all of its parameters/variables are set and can be modified with lambda functions from the core or from the cloud.
- A message manager: when the core needs to restart, the Things can still send messages and the core will save them until the core has restarted again.
- A discovery service, it is a service mainly used by the Things to get certificates to connect to a Greengrass Core.
- An Over-the-air update agent that allows updating one or more Greengrass Cores on a network at the same time or on predefined schedules. The devices with the Greengrass core will need to have the WiFi activated for this feature to work.
- A machine learning inference, meaning that the training is done on the cloud servers but the model (the “brain” of the AI) is on the Greengrass device. Better distribution of the tasks for more efficient and robust process.
- In other way, it brings real time performance to the next level, with no compromise on robustness and security. Among the key features from AWS Greengrass making end node robust and secure, let’s underline
Check here for more information
Check also this nice Application note AN3170, helping you getting started with AWS Greengrass on Microchip SAMAD2 MPU
This demo is using AWS-IoT and AWS-Greengrass but we are not limited to one cloud provider.
We have partnerships with the largest cloud computing companies.
Total System Solution from Microchip:
- Smart : PIC32 MCU, SAM9X75 MPU
- Connect : WINC/WILC Wi-Fi controllers, WBZ451 MCU
- Secure : ATECC608A Secure Element
Comprehensive firmware ecosystem, from Sensor to Cloud (AWS IoT Core, Microsoft Azure, Google GCP)
End to End approach, Firmware and Harwdare (MCU & MPU), Secure Element, Interoperability testing, Regulatory and Alliance Certifications
Get Started with Wi-Fi® for Applications Using the Linux® Operating System
Microchip uses its linux4sam.org website to provide access to new developments which are reviewed by our Linux maintainers and fully tested on our hardware platforms.
Linux OS for MPUs
For the purpose of this demo, linux4sam Github repo has been used for building the image:
Pre-provisioned ATECC608A Secure Element (Trust & Go)
Pre-configured and Pre-provisioned Secure Elements for Cloud Authentication. And propose for multiple cloud partners
Along SAMA5D27-WLSOM1 Linux drivers for ATECC608A
Product landing page
WiFi link controller: ATWILC1000 Home page
Same demonstrator could also work with Microchip combo Wifi + BLE: ATWILC3000 Home page
For the purpose of this demo, linux4wilc Github repo has been used for getting the WiFi WILC Firmware and Driver:
ATWILC1000/ATWILC3000 Wi-Fi Link Controller Linux User Guide
ATWILC Devices Linux Porting Guide
ATWILC1000-SD Evaluation Kit Design Files
ATWILC3000-SD Evaluation Kit Design Files
ATSAMA5D27 SOM1 Kit1 User Guide
- 1x PiArm Robot with motor control board
“PiArm”, DIY Robotic arm supporting Raspberry Pi from SB Components Ltd
PiArm is a Raspberry Pi based DIY robotic arm outfitted with 6-axis digital computerized servo motors and 360 degrees of rotation liberation designed and developed for kids, makers, techies, and everyone.- PiArm features:
- Fully metallic body
- Equipped with 6-axis digital servo meters and 360 degrees of rotation system.
- Easy to assemble and can be controlled by multiple devices like laptops, smartphones, joystick, etc.
- Based on the Python language and the open-source code is available for secondary development.
- Compatible with all versions of Raspberry Pi such as 4B, 3B+, 3, 2, A+, B, Zero W, Zero, etc.
- Servo Features:
- Python-based code capable of running on any platform like Linux or Windows.
- Connect the shield through a couple of options: through USB or through GPIO.
- Power to provide a single power source to the Raspberry Pi and the PiArm.
- PiArm features:
-
1x LifeCam HD 3000 USB Camera from Microsoft
This demo uses this solution from Microsoft but any USB webcam from the market can do the job.
-
1x Fritz!Box 7590 Router from AVM
Top model Wifi Router from AVM portfolio
-
1x "Secure 4 Click" Click board from Mikroe
Part of the well-known “Click board” family, Mikroe’s extension boards with over 700+ sensors, actuators, and connectivity (see full family here)
The "SECURE 4 CLICK" includes the ATECC608A, a secure CryptoAuthentication™ device from Microchip.
It will bring our system security one step further.
-
1x SAMA5D27-SOM1-EK1
The SAMA5D27 SOM1 Kit1 is a fast prototyping and evaluation platform for the high-performance 32-bit Arm® Cortex®-A5 processor-based MPU from Microchip running up to 500 MHz. Namely, the SAMA5D2-based System in Packages (SiPs) and the SAMA5D27 System-On-Module (SAMA5D27-SOM1).
This kit comprises a baseboard with a soldered SAMA5D27-SOM1 module.
This development kit will enable one or several of these functions, depending on the considered use cases (see later paragraph)- First and foremost, drive the Robot and perform the pick & place pattern (all use cases)
- Manage the sensors network made of SAM R30M Xplained Pro Evaluation Kits (see use case 1, 2 & 3)
- Manage the USB camera : video streaming (see use case 1 & 3) and picture acquisition for visual inspection (see use case 2 & 3)
- Cloud connectivity (see use case 2, 3 & 4)
- First and foremost, drive the Robot and perform the pick & place pattern (all use cases)
-
1x ATWILC1000-SD
The ATWILC1000-SD evaluation kit is a hardware platform to evaluate the ATWILC1000-MR110PB module. The ATWILC1000-SD is based on the SmartConnect WILC1000, an IEEE 802.11 b/g/n IoT link controller module. It is the ideal add-On to existing MCU solutions bringing WiFi through UART or SPI/SDIO-to-WiFi interface.
-
3x PIC32CX-BZ2 and WBZ451 Curiosity Development Board (AC164159)
The PIC32CX-BZ2 and WBZ451 Curiosity Development Board, based on the WBZ451PE module. It comes preconfigured with an out-of-the-box multi-protocol demo application and features a temperature sensor, a current measurement header, an RGB LED and a MikroElectronika mikroBUSTM socket to attach a plethora of sensors and add-on boards. Used here for our sensors network, monitoring key variables of our application (presence, temperature, vibration…).
In this demo, we will program these boards with true zigbee firmware from Microchip (see Zigbee landing page) and use on-board AT30TSE758A Digital Temperature Sensor. This board could also be used to connect additional sensors such as accelerometers, and in such enables new use cases such as predictive maintenance.
-
Miscellaneous hardware
- USB Hub with external power source (Belkin F4U041UK)
- Micro USB Cables
- USB Type-C to USB Type-A Female Adapter (OTG)
- USB Power Charger
- 4x Cubes with 4x magnets (used for robot arm pick and place)
20mm x 2mm Coin magnets
- 16x magnets to put beneath the chessmate
- M3 X 10 mm Male-Female Brass spacer
M3 X 35mm Male to Female Brass Spacer
M3 Hex Nut Brass
- USB Hub with external power source (Belkin F4U041UK)
We started building the first robot arm over a prototype platform.
And validated the demo ...
See one of the prototype in action:
Then from prototype to real demo, we integrated the whole solution into final casing.
Check out the Doc/Fixture Drawings.pdf file for the dimensions and 3D outlook of the final platform.
Check the video posted on youtube:
Boards connection:
USB Hub is used to power some boards but also used to allow data communication between boards.
Some boards have to be power supplied from independent power sources to avoid USB conflict in the demo due USB mounting enumeration.
Checkout the application source code located into Software/Linux_Python_Application_public.zip package
- Application files:
- iot_sam.py (main application file)
- Eww_robo.py
- Eww_robo_misc.py
- Piarm.py
- Serial_comm.py
- Robot calibration files:
- Eww_robo_calib.json (file which contains the calibration data)
- eww_robo_calibration.py (script file)
From Software/MiWi.zip package, you are getting two Atmel Studio 7.0 projects.
- ED_XMOD1 (End-Device): Project derived from ASFv3.47 MiWi Mesh EndDevice - WSN Demo Application (SAM R30 Module Xplained Pro)
- PAN_CORD_MOD (Pan-Coordinator): Project derived from ASFv3.47 MiWi Mesh PanCoordinator - WSN Demo Application (SAM R30 Module Xplained Pro)
The pan coordinator device creates the network and the end device perform an association in order to join the network.
The end device transmits periodically the temperature information to the pan coordinator.
Checkout the dashboard source code located into Software/Dashboard_public.zip package.
You need an AWS account and your own certificates. 2 sets of certificate should be provided by AWS (one for the device, one for the web server application).
The package contains:
- HTML Web page (main.html)
- Python code for the web server (app.py). The application should run in AWS ec2-instance or run in local network. The images captured by the USB camera are sent over MQTT message and stored in S3 bucket cloud.