Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Development
  3. Mysensors Gateway on OrangePi (Zero) (opi)

Mysensors Gateway on OrangePi (Zero) (opi)

Scheduled Pinned Locked Moved Development
117 Posts 11 Posters 43.2k Views 11 Watching
  • 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.
  • M marceloaqno

    @Reza Is there /sys/class/gpio/export file on your OPi?

    R Offline
    R Offline
    Reza
    wrote on last edited by Reza
    #92

    @marceloaqno
    in "orangepi one"(ubuntu os) there is not gpio folder in sys/class. but i think after run "modprobe gpio-sunxi" built a folder that name is "gpio_sw" and in this folder there are this files: normal_led,pa3,pa6,pa8 and 9,10,13,14,15,21 ,...

    M T 2 Replies Last reply
    0
    • R Reza

      @marceloaqno
      in "orangepi one"(ubuntu os) there is not gpio folder in sys/class. but i think after run "modprobe gpio-sunxi" built a folder that name is "gpio_sw" and in this folder there are this files: normal_led,pa3,pa6,pa8 and 9,10,13,14,15,21 ,...

      M Offline
      M Offline
      mihai.aldea
      wrote on last edited by
      #93

      @Reza Is it too complicated to switch to Debian?

      R 1 Reply Last reply
      0
      • M mihai.aldea

        @Reza Is it too complicated to switch to Debian?

        R Offline
        R Offline
        Reza
        wrote on last edited by
        #94

        @mihai.aldea said:

        Is it too complicated to switch to Debian?

        you told me i change my os ? to armbian ?

        1 Reply Last reply
        0
        • R Reza

          @marceloaqno
          in "orangepi one"(ubuntu os) there is not gpio folder in sys/class. but i think after run "modprobe gpio-sunxi" built a folder that name is "gpio_sw" and in this folder there are this files: normal_led,pa3,pa6,pa8 and 9,10,13,14,15,21 ,...

          T Offline
          T Offline
          Tag
          wrote on last edited by Tag
          #95

          @Reza
          More info on armbian.com

          I use the debian jessie, works like a charm!

          R 2 Replies Last reply
          0
          • M Offline
            M Offline
            mihai.aldea
            wrote on last edited by
            #96

            @Reza I wouldn't even dream of not using Armbian on OrangePi and NanoPi. Compared to Raspbian it's years ahead in terms of optimization and tidyness. Armbian is the reason I'm avoiding RPi when possible. So go ahead and install a proper OS for your OPi. Not sure if Xenial or Debian, maybe we should wait for @marceloaqno to respond to my comment with the running OS.

            1 Reply Last reply
            0
            • T Tag

              @Reza
              More info on armbian.com

              I use the debian jessie, works like a charm!

              R Offline
              R Offline
              Reza
              wrote on last edited by
              #97

              @Tag
              i worked with armbiam before. but my question is with armbian my problem is resolve ?

              1 Reply Last reply
              0
              • M Offline
                M Offline
                mihai.aldea
                wrote on last edited by
                #98

                That I can not say.

                1 Reply Last reply
                0
                • T Tag

                  @Reza
                  More info on armbian.com

                  I use the debian jessie, works like a charm!

                  R Offline
                  R Offline
                  Reza
                  wrote on last edited by
                  #99

                  @Tag said:

                  I use the debian jessie, works like a charm!

                  ok i change my os and test again. thank you

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    mihai.aldea
                    wrote on last edited by
                    #100

                    I confirm it's not working on the OPi PC where TMRh20 works.

                    S 1 Reply Last reply
                    0
                    • M marceloaqno

                      @Tag Oops, did I get it right this time (I reuploaded the image)?

                      T Offline
                      T Offline
                      Tag
                      wrote on last edited by
                      #101

                      @marceloaqno said:

                      @Tag Oops, did I get it right this time (I reuploaded the image)?

                      Got it spot on!! looks great!

                      1 Reply Last reply
                      0
                      • R Offline
                        R Offline
                        Reza
                        wrote on last edited by
                        #102

                        i have problem with compile source domoticz(i must use source domoticz for my changes) in armbian, so i have to use ubuntu.
                        @marceloaqno can you help me to run mysensors gateway in orangepi one (ubuntu os).thank you

                        1 Reply Last reply
                        0
                        • T Offline
                          T Offline
                          Tag
                          wrote on last edited by Tag
                          #103

                          Hi All,

                          I put together the steps to get MySensors running on the OrangePi Zero:
                          Take note of the SPI part, 1 typo and you will not see /dev/spidev1.0

                          • Download and Install the ARMbian(debian) OS image
                            https://www.armbian.com/orange-pi-zero/

                          • Install sunxi-tools:
                            These tools are required to make changes in the boot area of the system

                          sudo apt-get update
                          sudo apt-get install sunxi-tools
                          
                          • How to add /dev/spidev1.0 (which is required since /dev/spidev0.0 is used for the onboard NAND flash)
                          cd /boot
                          bin2fex /boot/script.bin /root/myscript.txt
                          

                          Now edit /root/myscript.bin and add/change the following so it looks exactly like the part below:

                          [spi0]
                          spi_used = 1
                          spi_cs_bitmap = 1
                          spi_mosi = port:PC00<3><default><default><default>
                          spi_miso = port:PC01<3><default><default><default>
                          spi_sclk = port:PC02<3><default><default><default>
                          spi_cs0 = port:PC03<3><1><default><default>
                          	
                          [spi1]
                          spi_used = 1
                          spi_cs_bitmap = 1
                          spi_cs0 = port:PA13<2><1><default><default>
                          spi_sclk = port:PA14<2><default><default><default>
                          spi_mosi = port:PA15<2><default><default><default>
                          spi_miso = port:PA16<2><default><default><default>
                          	
                          [spi_devices]
                          spi_dev_num = 2
                          	
                          [spi_board0]
                          modalias = "spidev"
                          max_speed_hz = 33000000
                          bus_num = 0
                          chip_select = 0
                          mode = 0
                          full_duplex = 1
                          manual_cs = 0
                          	
                          [spi_board1]
                          modalias = "spidev"
                          max_speed_hz = 33000000
                          bus_num = 1
                          chip_select = 0
                          mode = 0
                          full_duplex = 1
                          manual_cs = 0
                          
                          • Then recompile the script file:
                          fex2bin /root/myscript.txt /boot/script.bin
                          

                          Reboot the system

                          reboot
                          

                          2 device files should exist now:

                          root@orangepizero:~# ls -l /dev/spi*
                          crw------- 1 root root 153, 0 Jan 11 16:31 /dev/spidev0.0
                          crw------- 1 root root 153, 1 Jan 11 16:31 /dev/spidev1.0
                          

                          Load the gpio module

                          modprobe gpio-sunxi
                          

                          To load the module gpio-sunxi automagically load at boot time, add gpio-sunxi to /etc/modules

                          echo gpio-sunxi >> /etc/modules
                          
                          • Now it is time to install the GW.
                          cd /root
                          git clone https://github.com/marceloaqno/MySensors.git orangepi 
                          cd orangepi/ 
                          git pull origin spidev
                          ./configure --spi-spidev-device=/dev/spidev1.0
                          make
                          

                          Working like a charm!

                          If you tested "/bin/mysgw -d" and all works as expected, make the installation permanent:

                          make install
                          

                          Additional
                          If you want to read data into a controller using a device file (i.e Mycontroller) use the build string below

                           ./configure --spi-spidev-device=/dev/spidev1.0  --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyMySensorsGateway
                          

                          Hope this helps!! have fun!!

                          M 1 Reply Last reply
                          1
                          • T Tag

                            Hi All,

                            I put together the steps to get MySensors running on the OrangePi Zero:
                            Take note of the SPI part, 1 typo and you will not see /dev/spidev1.0

                            • Download and Install the ARMbian(debian) OS image
                              https://www.armbian.com/orange-pi-zero/

                            • Install sunxi-tools:
                              These tools are required to make changes in the boot area of the system

                            sudo apt-get update
                            sudo apt-get install sunxi-tools
                            
                            • How to add /dev/spidev1.0 (which is required since /dev/spidev0.0 is used for the onboard NAND flash)
                            cd /boot
                            bin2fex /boot/script.bin /root/myscript.txt
                            

                            Now edit /root/myscript.bin and add/change the following so it looks exactly like the part below:

                            [spi0]
                            spi_used = 1
                            spi_cs_bitmap = 1
                            spi_mosi = port:PC00<3><default><default><default>
                            spi_miso = port:PC01<3><default><default><default>
                            spi_sclk = port:PC02<3><default><default><default>
                            spi_cs0 = port:PC03<3><1><default><default>
                            	
                            [spi1]
                            spi_used = 1
                            spi_cs_bitmap = 1
                            spi_cs0 = port:PA13<2><1><default><default>
                            spi_sclk = port:PA14<2><default><default><default>
                            spi_mosi = port:PA15<2><default><default><default>
                            spi_miso = port:PA16<2><default><default><default>
                            	
                            [spi_devices]
                            spi_dev_num = 2
                            	
                            [spi_board0]
                            modalias = "spidev"
                            max_speed_hz = 33000000
                            bus_num = 0
                            chip_select = 0
                            mode = 0
                            full_duplex = 1
                            manual_cs = 0
                            	
                            [spi_board1]
                            modalias = "spidev"
                            max_speed_hz = 33000000
                            bus_num = 1
                            chip_select = 0
                            mode = 0
                            full_duplex = 1
                            manual_cs = 0
                            
                            • Then recompile the script file:
                            fex2bin /root/myscript.txt /boot/script.bin
                            

                            Reboot the system

                            reboot
                            

                            2 device files should exist now:

                            root@orangepizero:~# ls -l /dev/spi*
                            crw------- 1 root root 153, 0 Jan 11 16:31 /dev/spidev0.0
                            crw------- 1 root root 153, 1 Jan 11 16:31 /dev/spidev1.0
                            

                            Load the gpio module

                            modprobe gpio-sunxi
                            

                            To load the module gpio-sunxi automagically load at boot time, add gpio-sunxi to /etc/modules

                            echo gpio-sunxi >> /etc/modules
                            
                            • Now it is time to install the GW.
                            cd /root
                            git clone https://github.com/marceloaqno/MySensors.git orangepi 
                            cd orangepi/ 
                            git pull origin spidev
                            ./configure --spi-spidev-device=/dev/spidev1.0
                            make
                            

                            Working like a charm!

                            If you tested "/bin/mysgw -d" and all works as expected, make the installation permanent:

                            make install
                            

                            Additional
                            If you want to read data into a controller using a device file (i.e Mycontroller) use the build string below

                             ./configure --spi-spidev-device=/dev/spidev1.0  --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyMySensorsGateway
                            

                            Hope this helps!! have fun!!

                            M Offline
                            M Offline
                            marceloaqno
                            Code Contributor
                            wrote on last edited by
                            #104

                            @Tag great! Thanks for the detailed explanation :clap:
                            I will add to the instructions page

                            1 Reply Last reply
                            0
                            • pansenP Offline
                              pansenP Offline
                              pansen
                              wrote on last edited by
                              #105

                              out of curiousity: this all relates to 3.x kernel in armbian right? which has proprietary stuff in there?

                              i read somewhere that mainline 4.10 SPI is "work in progress"

                              Orange Pi Plus 2e connected to nrf24 PA via SPI running git-development MySensors gateway, OpenHAB2, mosquitto and MySQL persistence.

                              T 1 Reply Last reply
                              0
                              • pansenP pansen

                                out of curiousity: this all relates to 3.x kernel in armbian right? which has proprietary stuff in there?

                                i read somewhere that mainline 4.10 SPI is "work in progress"

                                T Offline
                                T Offline
                                Tag
                                wrote on last edited by
                                #106

                                @pansen
                                Yes correct, for OPI Zero only ARMbian 3.x is available as a download image.
                                I used the debian jessie one

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  marceloaqno
                                  Code Contributor
                                  wrote on last edited by
                                  #107

                                  Instructions page updated, let me know if there is any mistake.

                                  T 1 Reply Last reply
                                  0
                                  • M marceloaqno

                                    Instructions page updated, let me know if there is any mistake.

                                    T Offline
                                    T Offline
                                    Tag
                                    wrote on last edited by
                                    #108

                                    @marceloaqno

                                    looks great!! thx!!:thumbsup:

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      mihai.aldea
                                      wrote on last edited by
                                      #109

                                      Excellent work !!! It finally works, I believe the slight mistake was with the damn SPI device ID. Now that I've enabled /dev/spidev1.0 everything works perfect. Really nice job and awesome commitment to showing people that it's time for them to pull their heads out of their a.... and spend less for way more awesome boards because let's face it, RPi has the greatest community support but it's a nothing more than an expensive closed source crappy board.

                                      T 1 Reply Last reply
                                      0
                                      • M mihai.aldea

                                        Excellent work !!! It finally works, I believe the slight mistake was with the damn SPI device ID. Now that I've enabled /dev/spidev1.0 everything works perfect. Really nice job and awesome commitment to showing people that it's time for them to pull their heads out of their a.... and spend less for way more awesome boards because let's face it, RPi has the greatest community support but it's a nothing more than an expensive closed source crappy board.

                                        T Offline
                                        T Offline
                                        Tag
                                        wrote on last edited by Tag
                                        #110

                                        @mihai.aldea
                                        Great!!, found out the SPI0 is used for the NAND flash, once you add SPI1 to the script.bin, also the need board paragraph with bus 1 needs to be added otherwise it will not work.... anyway great you got mysensors up and running!!
                                        About the RPI, i like both boards, and in my opinion the enormous success of the RPI is responsible, for the large collection of OPI boards that is available these days ;)

                                        1 Reply Last reply
                                        0
                                        • M Offline
                                          M Offline
                                          mihai.aldea
                                          wrote on last edited by
                                          #111

                                          There are few who know that lots of asian compaines were producing SBC's long before RPi ever existed. RPi has to take credit for the SBC boom, but the connaisseurs will always prefer a top notch SBC that costs less than half of an RPi and is piled with features. Take the OPi Zero for instance, it's way smaller than RPi 3, has half the RAM and doesn't have Bluetooth. But you can buy 4 OPi Zeros with the money you'd spend on an RPi 3.
                                          Anyway it's an endless debate here, I'm just glad I could help a bit bringing this to life, even though you and @marceloaqno did the heavy lifting.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          28

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular