MakerGram Logo

    MakerGram

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags
    • Users
    • Groups

    Edge Impulse Inference to IoT Dashboard

    General Discussion
    edge impulse
    2
    12
    1455
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dipu_varghese last edited by

      Dear Community,

      I am currently working on an Edge Impulse project and have a query regarding the pre-built firmware that can be exported through the platform. Although I am able to read the data through the CLI/serial monitor, I am unsure about how to transfer this inference data/results to an IoT dashboard since the pre-built firmware cannot be edited.

      While I can achieve this through the Arduino library, the accuracy of the inference results is better when using the pre-built firmware.

      Best regards,
      Dipu

      salmanfaris 1 Reply Last reply Reply Quote 1
      • salmanfaris
        salmanfaris @dipu_varghese last edited by

        Hi @dipu_varghese đź‘‹ ,

        There is two way you can take the data/output information to the cloud.

        1. You need to use the Arduino library for inferencing the model and then push the data in a particular interval or with the triggers. Since the BLE nano sense doesn't have WiFi, you might need to route the network via Bluetooth to the internet-connected gateway, for example, a raspberry pi as DIY or you can transfer the data from Arduino to a wifi controller via serial, for example, transfer the result via UART or I2C to esp8266 or esp32 and then from esp you can push the data to cloud.

        2. The next method is you can use the prebuilt inferencing binary generated by the edge impulse system, as read the serial output with a Wffi or internet-enabled controller, such as raspberry pi, esp32, or esp8266, and after we need to do some processing and cleaning of the data, then push to the cloud.

        These are the method in my mind, please check them and let me know what you think. Happy making 🙌.

        D 1 Reply Last reply Reply Quote 1
        • D
          dipu_varghese @salmanfaris last edited by

          Hi @salmanfaris

          Thank you for sharing these two methods to take data/output information to the cloud. It's very helpful, and I appreciate your willingness to share your knowledge and expertise.

          Regarding the second method, could you please clarify what kind of processing and cleaning of data needs to be done before pushing it to the cloud? Thank you!

          Best,
          Dipu

          salmanfaris 1 Reply Last reply Reply Quote 0
          • salmanfaris
            salmanfaris @dipu_varghese last edited by

            @dipu_varghese The serial data from the prebuilt inferencing binary will be a little big with string size as it comes with all inferencing data points and it's confidence level plus the model information, you might only need the inferencing score or the inferencing data, so you can filter that out and send that to the cloud. Hope you get the idea. Let me know if you need an example.

            D 1 Reply Last reply Reply Quote 0
            • D
              dipu_varghese @salmanfaris last edited by

              Thank you for your response! @salmanfaris 🙂

              It makes sense that filtering out the specific data points that are needed and sending them to the cloud would be the way to go.

              If it's not too much trouble, could you please provide me with an example of how to filter out and send only the necessary inferencing data to the cloud?

              Thank you again for your help!

              Best,
              Dipu

              salmanfaris 1 Reply Last reply Reply Quote 0
              • salmanfaris
                salmanfaris @dipu_varghese last edited by

                @dipu_varghese Sure, I'll try to make an example in one coming day and share.

                D 2 Replies Last reply Reply Quote 0
                • D
                  dipu_varghese @salmanfaris last edited by

                  @salmanfaris I really appreciate your help and look forward to seeing the example.

                  Best,
                  Dipu

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    dipu_varghese @dipu_varghese last edited by

                    @salmanfaris Hope you're doing well, did you get sometime to work on this?

                    Best,
                    Dipu

                    1 Reply Last reply Reply Quote 0
                    • D
                      dipu_varghese @salmanfaris last edited by

                      @salmanfaris any updates?

                      Best,
                      Dipu

                      salmanfaris 1 Reply Last reply Reply Quote 0
                      • salmanfaris
                        salmanfaris @dipu_varghese last edited by salmanfaris

                        Hi @dipu_varghese ,

                        Here is the sample input from the binary edge impulse inference,

                        Predictions (DSP: 16 ms., Classification: 1 ms., Anomaly: 2 ms.):
                        idle: 0.91016
                        snake: 0.08203
                        updown: 0.00391
                        wave: 0.00391
                        anomaly score: -0.067”
                        

                        And from here for example we can try to get the updown values only by attaching the device to another controller and read the Serial string directly.

                        void setup() {
                          // Start serial communication at 9600 baud
                          Serial.begin(9600);
                        }
                        
                        void loop() {
                          // Wait until there is data available on the serial port
                          while (!Serial.available()) {
                            // Do nothing
                          }
                        
                          // Read the input string from the serial port
                          String inputString = Serial.readStringUntil('\n');
                        
                          // Find the position of the "updown" value in the input string
                          int updownPos = inputString.indexOf("updown:");
                        
                          // If the "updown" value was found in the input string
                          if (updownPos >= 0) {
                            // Extract the "updown" value from the input string
                            String updownString = inputString.substring(updownPos + 8, inputString.indexOf('\n', updownPos));
                        
                        // Convert the "updown" value to a float
                            float updownValue = updownString.toFloat();
                        
                         // Output the "updown" value
                            Serial.println(updownValue);
                          }
                        }
                        

                        The sketch should then output the "updown" value, which is 0.08203.

                        Hope this will be helpful, let me know if you need more clarification.

                        D 1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Recent Posts

                        • S

                          In the world of advanced optics and laser technology, Optical Grade diamonds are the new standard. Made with CVD (chemical vapor deposition) technology, these lab grown diamonds have high clarity, thermal conductivity and light transfer. The USA is leading the way with these diamonds, where industries from aviation to telecom have already used them. Not like mined diamonds, Optical Grade CVD diamonds are engineered for perfection, for high-tech applications across industries.

                          What Are Optical Grade Diamonds?

                          Optical Grade diamonds are CVD diamonds For very high precision and very pure materials.

                          Ultra-High Transparency – Near perfect light transmission across UV, visible and IR spectra. Superior Thermal Conductivity – Fast heat dissipation for high power lasers. Minimal Inclusions & Defects – Critical for optical clarity and performance.

                          In the USA, industries are moving fast to Optical Grade lab grown diamonds for their reliability and performance. Interested in Optical Grade diamonds for your application? Learn how CVD technology is changing the face of optics in the USA!

                          • read more
                        • D

                          Signal Hunt: An ESP-NOW Workshop & Treasure Hunt

                          Hello everyone! We’re planning on organizing a two-phase event that explores device-to-device communication using ESP-NOW protocol :

                          Workshop: Participants learn to build and program ESP32-based receivers with a web interface that directly exchange signal data using ESP-NOW for RSSI-based distance approximation.

                          Signal Hunt Competition: Equipped with these receivers, participants will track hidden ESP32 transmitters scattered around the campus, each with distinct point values.

                          Current hardware setup:
                          Reciever(one per team):
                          Esp32 ~ 360rs
                          9v battery = 20rs
                          9v battery clip= 5rs
                          buck converter (MP1584 or LM2596) ~ 45rs
                          Perfboard + male to female berg strip ~30rs
                          Total per reciever ~ 460rs
                          Transmitters :6
                          Components same as recievers = 460*6~2760rs

                          (using non-rechargeable batteries to reduce cost,
                          will using a 7805 voltage regulator IC be a viable way to reduce cost further?)

                          We’d love your suggestions on ways to simplify hardware, reducing the cost, secure partnerships and funding, or enhance the interactive elements. Thank you, looking forward to any ideas that can help make the event engaging and successful!

                          • read more
                        • R

                          I am trying to set up a janus webrtc to stream an RTSP to an HTML page.
                          I have followed the getting-started steps by Janus-gateway official github repo.

                          Since I am new to web development. I do not understand how to host the Webrtc server. can anyone guide me to set up an HTML page that can display a video stream from an RTSP server using janus webrtc?

                          • read more
                        • @zainmuhammed Can try capturing the GPS when the device is starting the loop instead after joining the LoRaWAN and see?

                          You can put the GPS value on top of the loop or setup function.

                          Also, what kind of gateway are you using? Is it configured okay, OTA is done?

                          • read more
                        • @salmanfaris Today I tried after connecting a 18650 cell,
                          WhatsApp Image 2024-04-12 at 10.40.06_c7d1947e.jpg WhatsApp Image 2024-04-12 at 10.40.05_897b8bb6.jpg
                          Data getting in console after integration of both lora and gps.
                          3f45cfe7-0061-4328-8c55-ef0a73385203-image.png
                          here you can see that GPS value is 0,0. also in my previous post you can see that GPS value is not reading.
                          Also the status LED is active after it is connected to the satellite.

                          • read more
                        By MakerGram | A XiStart Initiative | Built with ♥ NodeBB
                        Copyright © 2023 MakerGram, All rights reserved.
                        Privacy Policy | Terms & Conditions | Disclaimer | Code of Conduct