Differences

This shows you the differences between two versions of the page.

Link to this comparison view

iothings:proiecte:2021:airqualityedgeimpulse [2022/01/23 22:39]
alexandra.covor [Air Quality Monitoring Using Edge Impulse]
iothings:proiecte:2021:airqualityedgeimpulse [2022/01/25 22:11] (current)
alexandra.covor [Hardware Description]
Line 5: Line 5:
 Project repository: [[https://​github.com/​Alexandra182/​AirQuality-EdgeImpulse-ESP32]] Project repository: [[https://​github.com/​Alexandra182/​AirQuality-EdgeImpulse-ESP32]]
  
-Demo video:+Demo video: ​[[https://​www.youtube.com/​watch?​v=48sH_nrRz8E]]
  
 ===== Introduction ===== ===== Introduction =====
Line 22: Line 22:
   * LED - connected to a PWM pin of the ESP32.   * LED - connected to a PWM pin of the ESP32.
  
 +{{:​iothings:​proiecte:​2021:​alexandra_c:​circuit.jpeg?​400|}}
 ==== Wiring ==== ==== Wiring ====
  
Line 31: Line 32:
  
 The ESP32 development board is not officially supported by Edge Impulse, but their [[https://​docs.edgeimpulse.com/​docs/​porting-guide|Porting guide]] provides instructions on how to connect it to the platform. The first option to do this, and also the fastest and easiest to implement, is the Data Forwarder, which allows collecting data from the development board over a serial connection. The second option, and the one I chose to implement in this project, is sending data remotely, directly from the device, using the [[https://​docs.edgeimpulse.com/​reference/​ingestion-api|Ingestion API]] and (optionally) the [[https://​docs.edgeimpulse.com/​reference/​remote-management|Remote management protocol]]. ​ The ESP32 development board is not officially supported by Edge Impulse, but their [[https://​docs.edgeimpulse.com/​docs/​porting-guide|Porting guide]] provides instructions on how to connect it to the platform. The first option to do this, and also the fastest and easiest to implement, is the Data Forwarder, which allows collecting data from the development board over a serial connection. The second option, and the one I chose to implement in this project, is sending data remotely, directly from the device, using the [[https://​docs.edgeimpulse.com/​reference/​ingestion-api|Ingestion API]] and (optionally) the [[https://​docs.edgeimpulse.com/​reference/​remote-management|Remote management protocol]]. ​
-Using the Remote management protocol, I first opened a WebSocket connection from the ESP32 to **[[ws://​remote-mgmt.edgeimpulse.com]]** and I sent a JSON-encoded Hello request:+After creating a project on Edge Impulse, using the Remote management protocol, I first opened a WebSocket connection from the ESP32 to **[[ws://​remote-mgmt.edgeimpulse.com]]** and I sent a JSON-encoded Hello request:
  
 <​code>​ <​code>​
Line 160: Line 161:
 {{:​iothings:​proiecte:​2021:​alexandra_c:​logic_diagram_3.png?​|}} {{:​iothings:​proiecte:​2021:​alexandra_c:​logic_diagram_3.png?​|}}
  
-The **inference_web_server.ino** file contains the **getSensorReadings()** function, which constructs a JSON file with the sensor readings and the inference result: ​+The **inference_web_server.ino** file contains the **getSensorReadings()** function, which constructs a JSON object ​with the sensor readings and the inference result: ​
  
 <code c> <code c>
Line 266: Line 267:
 } }
 </​code>​ </​code>​
-==== Conclusions ====+===== Conclusions ​=====
  
 Future improvements to the project include gathering more data in order to properly train the model, as the current implementation is more of a proof of concept, and implementing alerts when anomalies in the data are detected. Future improvements to the project include gathering more data in order to properly train the model, as the current implementation is more of a proof of concept, and implementing alerts when anomalies in the data are detected.
Line 287: Line 288:
   - [[https://​github.com/​edgeimpulse/​ingestion-sdk-c|Edge Impulse C Ingestion SDK]]    - [[https://​github.com/​edgeimpulse/​ingestion-sdk-c|Edge Impulse C Ingestion SDK]] 
   - [[https://​github.com/​rafaelbidese/​ei-projects|Edge Impulse C Ingestion SDK Samples]] ​   - [[https://​github.com/​rafaelbidese/​ei-projects|Edge Impulse C Ingestion SDK Samples]] ​
 +  - [[https://​github.com/​me-no-dev/​ESPAsyncWebServer|ESPAsyncWebServer]]
 +  - [[https://​github.com/​me-no-dev/​AsyncTCP|AsyncTCP]]
  
 ==== Others ==== ==== Others ====
iothings/proiecte/2021/airqualityedgeimpulse.1642970350.txt.gz · Last modified: 2022/01/23 22:39 by alexandra.covor
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0