MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MagicMirror and adruino over ethernet

    Scheduled Pinned Locked Moved General Discussion
    26 Posts 3 Posters 10.2k Views 3 Watching
    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.
    • K Offline
      Kereknjek
      last edited by Kereknjek

      Hello, everyone!
      I’m new here and to java programming. So I’ll have a lot of questions…

      I’m in process of buinding MagicMirror as a door for my electrical cabinet in my house.

      Anyway, I have build my own solar system using store bought solar panels and charge controller. Batteries are pulled from electrical forklift (460 kg) and as inverter, I’m using pure sine wave UPS used for powering servers in company I work at.

      To manage the system I’m using arduino nano wich is measuring panel voltage and current, battery voltage, battery current and current direction, inverter current, inverter temperature, and charge controller temperature.
      Data is transfered to arduino mega via rs485 located at my electrical cabinet. There arduino mega measures power usage and switches devices between solar and mains acording to load so battery doesent fall under 90% and maximum posible power produced by solar panels is used.

      Arduino mega, located at electrical cabinet, is running HTTP server to wich I can connect from my PC or mobile to view current status, statistics and errors.

      Now I want to make module for MagicMirror to display that data.

      Allso, I’m upgrading my natural gas heating system. I’m adding wood furnace and solar collectors. System will use similar management based on arduino and will probably be connected to MagicMirror.

      My problem is that I have no idea how to make javascript connection to arduino, nor how to send requests. But I can make responses from arduino in any format.

      P.S.
      Incidently, my surname is Magic. :smiling_face_with_sunglasses:

      S 2 Replies Last reply Reply Quote 0
      • S Do not disturb
        sdetweil @Kereknjek
        last edited by

        @Kereknjek I would see this module… MMM-ArduPort and how to send data from the arduino to the pi via serial

        I also had added an http server to my arduino ESP8266 NodeMCU and provided apis for data access as another route, which keeps the devices from having to be physically wired together

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • S Do not disturb
          sdetweil @Kereknjek
          last edited by

          @Kereknjek said in MagicMirror and adruino over ethernet:

          Arduino mega, located at electrical cabinet, is running HTTP server to wich I can connect from my PC or mobile to view current status, statistics and errors.
          Now I want to make module for MagicMirror to display that data.

          how do you ‘view’ that

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          S 1 Reply Last reply Reply Quote 0
          • S Do not disturb
            sdetweil @sdetweil
            last edited by sdetweil

            @sdetweil if u want to send requests (in code) to the arudino web server, its just a the nodejs request library

            see https://www.npmjs.com/package/request

            you could use my sample module. https://github.com/sdetweil/SampleModule
            there are also modules that will show ae existing page, MMM-IFrame

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            1 Reply Last reply Reply Quote 0
            • K Offline
              Kereknjek
              last edited by

              Arduino sends data formated as simple HTML page. Pure text.

              1 Reply Last reply Reply Quote 0
              • K Offline
                Kereknjek
                last edited by

                Thank you!
                I’ll need some time to digest all the info you have provided. :smiling_face_with_open_mouth_cold_sweat:

                S 1 Reply Last reply Reply Quote 0
                • S Do not disturb
                  sdetweil @Kereknjek
                  last edited by

                  @Kereknjek no problem… come on back, there is all kinds of help around

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • K Offline
                    Kereknjek
                    last edited by

                    @sdetweil said in MagicMirror and adruino over ethernet:

                    @Kereknjek I would see this module… MMM-ArduPort and how to send data from the arduino to the pi via serial

                    I also had added an http server to my arduino ESP8266 NodeMCU and provided apis for data access as another route, which keeps the devices from having to be physically wired together

                    Your MMM-ArduPort module looks EXACTLY like what I had in mind!
                    I’ll give it a detailed examination. :D

                    1 Reply Last reply Reply Quote 0
                    • K Offline
                      Kereknjek
                      last edited by

                      I think that this is way to extensive for my knowledge. I can’t make heads or tails out of it…

                      S 1 Reply Last reply Reply Quote 0
                      • S Do not disturb
                        sdetweil @Kereknjek
                        last edited by

                        @Kereknjek basically the arduino sends text strings with Serial.println(“[COMMAND:NAME:DATA]”)

                        To transmit a sensor data to the module: `[sensor:SENSOR_NAME:SENSOR_VALUE]**

                        Example:

                        Serial.println(“[sensor:MQ2:19]”);
                        Serial.println(“[sensor:LM35:11]”);
                        Serial.println(“[sensor:HCSR04:64]”);

                        but anyhow, lots of work in the arduino code to make this work

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        K 1 Reply Last reply Reply Quote 0
                        • K Offline
                          Kereknjek @sdetweil
                          last edited by Kereknjek

                          @sdetweil
                          That part is perfectly clear.

                          Here is C/P of what I am using now:

                                client.println("< !DOCTYPE HTML >");
                                client.println("< html >");
                                client.print("Napon panela: ");
                                client.print(PanelU);
                                client.println(" V < br/>");
                                client.print("Struja panela: ");
                                client.print(PanelI);
                                client.println(" A < br/>");
                                client.print("Napon baterije: ");
                                client.print(BatU);
                                client.println(" V < br/>");
                          

                          .
                          .
                          .
                          client.println(“< / html >”);

                          That is slightly modified ethernet server sample program from ethernet library.

                          Edit: had to add spaces because html wasn’t showing.

                          S 1 Reply Last reply Reply Quote 0
                          • B Offline
                            BD0G
                            last edited by

                            This may be a stupid question , but . Why not just use the MMM-iFrame Module since the information is already provided /served from a webserver within the Arduino? You can change the size of the iFrame that displays the Url so that it can be small and take up just a little of the magic mirror or large and fill the mirror. Since you will not be touching the screen to change or interact with the data.

                            1 Reply Last reply Reply Quote 0
                            • K Offline
                              Kereknjek
                              last edited by Kereknjek

                              It’s not stupid question.

                              If arduino serves webpage, it should be served from sd card.
                              To use sd card, you have to use sd card library, make decisions wether client wants whole web page or just data packets…
                              All that takes a lot of memory and time to process. And arduino is slow and low on memory compared to RPi.
                              For arduino is much simpler to detect “give me data” and send sensor ID and value.

                              Plus, in my case, arduino mega has 16 amperemeters to read and 18 outputs to regulate.
                              I wouldn’t like it if it gets stuck in code while inverter is working at full capacity. It could become fire hazard.

                              B 1 Reply Last reply Reply Quote 0
                              • B Offline
                                BD0G @Kereknjek
                                last edited by

                                @Kereknjek So in a nutshell. Yes the Arduino can serve a whole webpage of data , but it will take a long time. If one just sends the data from the Arduino to the Raspberry Pi then the Raspberry Pi can display the webpage faster as its processor and potentially memory is faster.

                                1 Reply Last reply Reply Quote 0
                                • K Offline
                                  Kereknjek
                                  last edited by

                                  Yes. Plus, if I would want to make any modifications to webpage, first I would have to shutdown arduino and whole solar system, pull sd card out, modify page, plug sd card back in and restart sytem.

                                  If sd card gets damaged in any way or get slow for some reason (had one like that on my 3D printer), whole system running on that arduino gets slow and unuseable.

                                  B 1 Reply Last reply Reply Quote 0
                                  • S Do not disturb
                                    sdetweil @Kereknjek
                                    last edited by

                                    @Kereknjek cool. You could make a little change and have it return just data.

                                    If the path is sensor1, send just sensor1’s data. Etc.

                                    Pretty easy, just a case stmt… you could make it json data pretty easy too…

                                    The request could ask for a sensor or block of sensors, and send raw data.

                                    Sam

                                    How to add modules

                                    learning how to use browser developers window for css changes

                                    K 1 Reply Last reply Reply Quote 0
                                    • S Do not disturb
                                      sdetweil
                                      last edited by sdetweil

                                      On my Arduino measuring water flow and water volume. I did those in interrupt and timer routines. And sent data in the main path.

                                      Sam

                                      How to add modules

                                      learning how to use browser developers window for css changes

                                      1 Reply Last reply Reply Quote 0
                                      • B Offline
                                        BD0G @Kereknjek
                                        last edited by BD0G

                                        @Kereknjek Sounds like you need to backup the entire SD Card of your Arduino and create an image for safe keeping. If you Download Win32 Disk Imager you can create an image of the entire SD card and write it to a hard drive. Then if catastrophe strikes simply remove the SD card and use Win 32 Disk Imager to write the working image back to the SD card.

                                        It can be downloaded here Win32DiskImager

                                        S 1 Reply Last reply Reply Quote 0
                                        • S Do not disturb
                                          sdetweil @BD0G
                                          last edited by

                                          @BD0G my 8266 has onboard flash ram. No SD card required.

                                          Sam

                                          How to add modules

                                          learning how to use browser developers window for css changes

                                          B 1 Reply Last reply Reply Quote 0
                                          • B Offline
                                            BD0G @sdetweil
                                            last edited by

                                            @sdetweil Was referring to @Kereknjek and recommending he backup the SD card on the Arduino that is working for safe keeping.

                                            I have an 8266 as well ! Its dedicated to my smartblinds control that I control via smarthings and a custom 3 D printed enclosure for a servo that mounts in the top rail of the blinds. Works splendidly!

                                            S 1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 2 / 2
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy