• header.categories
    • header.recent
    • header.tags
    • header.popular
    • register
    • login

    MyController agent for Raspberry PI

    scheduled pinned locked moved General Discussion
    raspberry piagentmycontroller
    24 posts 6 posters 14.8k views 3 watching
    loading-more-posts
    • oldest-to-newest
    • newest-to-oldest
    • most-votes
    reply
    • reply-as-topic
    guest-login-reply
    deleted-message
    • jkandasaJ offline
      jkandasa @hqm
      global:last-edited-by,

      @hqm There is no document yet. I will create one soon. Thank you!

      one-reply-to-this-post last-reply-time reply quote 0
      • jkandasaJ offline
        jkandasa @Tag
        global:last-edited-by,

        @Tag I do not have any OrangePI. Have to check it there.

        T one-reply-to-this-post last-reply-time reply quote 0
        • T offline
          Tag MOD @jkandasa
          global:last-edited-by, Tag

          @jkandasa said:

          I do not have any OrangePI. Have to check it there.

          Thx!
          (me personally am just interested in the server stats, CPU/RAM, no need for GPIO control)
          I will test on Orange Pi and keep you posted

          • does not work....
            in the log i see this:

          Unable to determine hardware version. I see: Hardware : sun8i

          • expecting BCM2708, BCM2709 or BCM2835.
            If this is a genuine Raspberry Pi then please report this
            to projects@drogon.net. If this is not a Raspberry Pi then you
            are on your own as wiringPi is designed to support the
            Raspberry Pi ONLY.

          [http://www.orangepi.org/Docs/WiringPi.html](link url) is the wiringPI lib for orange pi

          [https://github.com/Pi4J/pi4j/tree/master/pi4j-example/src/main/java/orangepi](link url) Seems to be the link to PI4J the orange pi version...Maybe the above info helps

          jkandasaJ one-reply-to-this-post last-reply-time reply quote 0
          • jkandasaJ offline
            jkandasa @Tag
            global:last-edited-by,

            @Tag Thanks for the links. Let me update to the latest version of PI4J and let you know.

            T one-reply-to-this-post last-reply-time reply quote 0
            • T offline
              Tag MOD @jkandasa
              global:last-edited-by, Tag

              @jkandasa

              Thx!,
              Will keep an eye open for a new release!

              Just in the mean time, how to fill a variable from a file?, i have tried to get this using jscript however i am not a java programmer...

              i.e, ont the OrangePI in armbianthe cpu temp is stored here:

              /sys/class/thermal/thermal_zone0/temp
              

              and here is the cpu frequency

              /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq 
              

              Another nice one would be the memory usage:

              /sys/fs/cgroup/memory/memory.usage_in_bytes
              

              would it be possible to read these in a script and add them to the database?

              Thx!

              jkandasaJ topic:replies-to-this-post, 2 last-reply-time reply quote 0
              • jkandasaJ offline
                jkandasa @Tag
                global:last-edited-by,

                @Tag I hope it is possible. Let me try this and update you.

                T one-reply-to-this-post last-reply-time reply quote 0
                • T offline
                  Tag MOD @jkandasa
                  global:last-edited-by,

                  @jkandasa

                  Thank you!!
                  Running Mycontroller for almost 2 years now, still the best controller out there!!

                  one-reply-to-this-post last-reply-time reply quote 0
                  • skywatchS offline
                    skywatch
                    global:last-edited-by, jkandasa

                    No joy yet.....the lig file is full of this message.....

                    2017-07-05 11:26:29,952 ERROR [Thread-4] [org.mycontroller.agent.rpi.mqtt.RpiMqttClient:82] Unable to connect with MQTT broker [tcp://localhost:1883], Reason Code: 4,
                    org.eclipse.paho.client.mqttv3.MqttSecurityException: Bad user name or password
                            at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:28)
                            at org.eclipse.paho.client.mqttv3.internal.ClientState.notifyReceivedAck(ClientState.java:990)
                            at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:118)
                            at java.lang.Thread.run(Thread.java:745)
                    

                    I do not need mqtt so does it have to be enabled for mcagent to work? I even allowed annonymous login in mqtt settings and still no rpi-internal appears! ??? - How do I add the internal node? A nice feature would be a 'scan for new nodes' button - not sure how feasible that would be though! 😉

                    jkandasaJ one-reply-to-this-post last-reply-time reply quote 0
                    • jkandasaJ offline
                      jkandasa @skywatch
                      global:last-edited-by,

                      @skywatch Yes, MCagent uses MQTT to communicate with MyController. Hence you can run this on any RPI. Looks like you have not enabled allow anonymous . Kindly recheck once again.

                      I have added a small document to install mcagent on RPI. You can follow the document here

                      N one-reply-to-this-post last-reply-time reply quote 0
                      • skywatchS offline
                        skywatch
                        global:last-edited-by, skywatch

                        You asked for suggestions so here's a couple for now....

                        1. Monitor and report network lan traffic bandwidth used (maybe with options to see different types of traffic eg tcp/http/udp etc....).

                        2. Get data for the number of packets sent/received by the nrf24l01+ attached to the pi.

                        Still, it's working well now and very useful to see this info!

                        one-reply-to-this-post last-reply-time reply quote 1
                        • jkandasaJ offline
                          jkandasa @Tag
                          global:last-edited-by,

                          @Tag said:

                          @jkandasa

                          Thx!,
                          Will keep an eye open for a new release!

                          Just in the mean time, how to fill a variable from a file?, i have tried to get this using jscript however i am not a java programmer...

                          i.e, ont the OrangePI in armbianthe cpu temp is stored here:

                          /sys/class/thermal/thermal_zone0/temp
                          and here is the cpu frequency

                          /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
                          Another nice one would be the memory usage:

                          /sys/fs/cgroup/memory/memory.usage_in_bytes
                          would it be possible to read these in a script and add them to the database?

                          Thx!

                          Hi @Tag
                          Here is the javascript to read and update RPI-internal values to MyController DB.

                          var myImports = new JavaImporter(java.io, java.lang, java.util, java.text, org.apache.commons.io.FileUtils);
                          
                          with(myImports) {
                            //get Sensors with UID tag
                            var temperatureSensor = mcApi.uidTag().getByUid("rpi-temperature").getResource();
                            var memorySensor = mcApi.uidTag().getByUid("rpi-memory").getResource();
                            //var cpuFreqSensor = mcApi.uidTag().getByUid("rpi-cpu-freq").getResource();
                          
                            var temperature = FileUtils.readFileToString(FileUtils.getFile("/sys/class/thermal/thermal_zone0/temp"));
                            var memory = FileUtils.readFileToString(FileUtils.getFile("/sys/fs/cgroup/memory/memory.usage_in_bytes"));
                            //var cpuFrequency = FileUtils.readFileToString(FileUtils.getFile("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq "));
                          
                            //Change values
                            temperatureSensor.value = parseInt(temperature) / 1000;
                            memorySensor.value = parseInt(memory);
                            //cpuFreqSensor.value = parseInt(cpuFrequency);
                          
                            //Update to db
                            mcApi.sensor().sendPayload(temperatureSensor);
                            mcApi.sensor().sendPayload(memorySensor);
                            //mcApi.sensor().sendPayload(cpuFreqSensor);
                          }
                          

                          I have commented out CPU frequency read. It needs root privilage. If you want cpuFreqSensor to be executed, you need to run MyController as root user. For me cpuFreqSensor is useless value. It never change. It is up to you.

                          To run this script you have to create dummy node(ex:rpi-internals-dummy) and dummy sensors for temperature, memory and cpuFrequency. And map all these sensors with UID tags to refer to the script.

                          You can configure this script on timer to update temperature value for N minutes once.

                          T one-reply-to-this-post last-reply-time reply quote 0
                          • T offline
                            Tag MOD @jkandasa
                            global:last-edited-by, Tag

                            @jkandasa

                            Got it working for the CPU temp!!
                            Only problem is the CPU frequency and memory usage, for both i am not able to add a variable type when adding the sensor... this makes it impossible to add a uuid tag since the fake sensors memory and cpu simply do not show up when adding the uuid tag

                            On the CPU frequency... the H2+ CPU is able to scale the frequency automagically between i.e 240mhz and 1.2Ghz... this saves power and therefore makes the CPU run cooler... my OPI zero is using 500mah max these days (only peeking to 1-1.2Ghz several times per minute)... so for me it interesting to see the cpu frequency, if it is high all the time, i might have a cpu hog somewhere...
                            No need to run mysensors as root, i will create a root cronjob dumping the value into a file which is readable for the world, and read that file from your script;)

                            Thanks for helping to get this work, i can imagine this script is very usefull for the MyController community!!!

                            MyController just got even better!!
                            (hard to imagine but it seems possible!)

                            jkandasaJ one-reply-to-this-post last-reply-time reply quote 1
                            • jkandasaJ offline
                              jkandasa @Tag
                              global:last-edited-by,

                              @Tag said:

                              Only problem is the CPU frequency and memory usage, for both i am not able to add a variable type when adding the sensor... this makes it impossible to add a uuid tag since the fake sensors memory and cpu simply do not show up when adding the uuid tag

                              If you use the SNAPSHOT version of MyController you can see CPU/Memory. I hope it will work only for MyController type gateway.

                              Another way, You can map CPU and Memory with >> Custom type and Variable 1 and Variable 2. Edit both variables and set Metric type as Double. Now all set.

                              T one-reply-to-this-post last-reply-time reply quote 0
                              • T offline
                                Tag MOD @jkandasa
                                global:last-edited-by,

                                @jkandasa

                                Did some testing, got the memory usage setup as you pointed out.
                                Mapped memory to type custom and variable1. Now it shows the memory usage! (i divided it by 1024 to see the Kb's in use, since that gives me a more usable number)

                                CPU is still work in progress, will keep you posted!, many thanks for the help!!

                                one-reply-to-this-post last-reply-time reply quote 1
                                • N offline
                                  naguraob @jkandasa
                                  global:last-edited-by,

                                  @jkandasa
                                  I have followed your instructions to setup the MCAgent, and its up and running.
                                  I need only rpi-internal node hence I commented the following line in mcagent.properties file.
                                  mcac.node.name.gpio=rpi-gpio

                                  But I still see a node being created EUI as rpi-gpio whenever I restart the mcagent.
                                  Can you please help me with this?

                                  In devices.yaml file is it possible for me to change the ids i.e. can id: cpu_temperature be changed to id: CPU_TEMP?

                                  jkandasaJ one-reply-to-this-post last-reply-time reply quote 0
                                  • jkandasaJ offline
                                    jkandasa @naguraob
                                    global:last-edited-by,

                                    @naguraob Do not comment mcac.node.name.gpio=rpi-gpio on mcagent.properties. Just delete or disable[enabled: false] gpio_devices devices on devices.yaml.

                                    In devices.yaml file is it possible for me to change the ids i.e. can id: cpu_temperature be changed to id: CPU_TEMP?

                                    Yes you can change to any name.

                                    Do restart mcagent when you change anything on mcagent.properties or on devices.yaml

                                    jkandasaJ one-reply-to-this-post last-reply-time reply quote 0
                                    • jkandasaJ offline
                                      jkandasa @jkandasa
                                      global:last-edited-by,

                                      @Tag Now McAgent supports for Orange PI. with some known issues. Kindly use SNAPSHOT version

                                      My OrangePiZero (512MB) gets super heat when I use MyController on this. Do you use any heatsink?

                                      T one-reply-to-this-post last-reply-time reply quote 0
                                      • T offline
                                        Tag MOD @jkandasa
                                        global:last-edited-by, Tag

                                        @jkandasa

                                        Appologies for the delay......Took some time, but mcagent is installed on my OPI-0, 🙂
                                        setup with the manual you provided, works.

                                        I can see 4 sensors, however it seems that:

                                        • cpu voltage is not updated.
                                        • the CPU temp is shown as 0.049c instead of 49c

                                        0_1509460086590_Screenshot 2017-10-31 at 15.26.50.png

                                        rest is perfect!.

                                        When you mention "hot" on the orangepi, what kind of values do you see?
                                        I have got 2 OPI-zero boards, one that shows me approx 36 degrees, and one that shows 49 degrees, with the same SD card.... but... both are the same temp, it seems that there are allwinner chips or opi-zero boards(rev 1.4) that have a temp measuring error. At this moment installing mcagent does not increase the cputemp as far as i can see...

                                        This is how i keep my system "cool"

                                        • OPI-0 has a heatsink installed (no fan required)
                                        • The cpu frequency to 912mhz max, this setting also limits the voltage used.
                                        h3consumption -m 912mhz
                                        
                                        • cpufequency govenor = interactive
                                          check with:
                                        cpufreq-info
                                        

                                        Which image do you use (in my opinion armbian jesse is still the best..)
                                        and what is "hot" 🙂 can you keep your finger on the cpu for a minute?

                                        jkandasaJ one-reply-to-this-post last-reply-time reply quote 0
                                        • jkandasaJ offline
                                          jkandasa @Tag
                                          global:last-edited-by,

                                          @tag Thank you for the feedback.

                                          the CPU temp is shown as 0.049c instead of 49c

                                          I have filed an issue with pi4j. Seems it's fixed. Let me check with recent version and update.
                                          https://github.com/Pi4J/pi4j/issues/356

                                          Which image do you use (in my opinion armbian jesse is still the best..)

                                          Yes, I too use armbian. Which is super cool image for Orange PI

                                          and what is "hot" 🙂 can you keep your finger on the cpu for a minute?

                                          Sure, Will update you 🙂

                                          one-reply-to-this-post last-reply-time reply quote 0
                                          • first-post
                                            last-post

                                          0

                                          online

                                          644

                                          users

                                          532

                                          topics

                                          3.4k

                                          posts
                                          Copyright © 2015-2025 MyController.org | Contributors | Localization