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. Announcements
  3. 💬 Building a Orange Pi Gateway

💬 Building a Orange Pi Gateway

Scheduled Pinned Locked Moved Announcements
110 Posts 24 Posters 31.6k Views 21 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 Offline
    M Offline
    marceloaqno
    Code Contributor
    wrote on last edited by marceloaqno
    #63

    Support for RFM69 has been added, check the build guide for more information.

    1 Reply Last reply
    1
    • awilnerA Offline
      awilnerA Offline
      awilner
      wrote on last edited by
      #64

      Hi, everyone

      I hope someone can help me, I'm lost trying to wrap my head around the proper pin numbers. I'm using a 433MHz RFM69 connected to an OrangePi PC with this configuration:

         OPI PC <-----------> RFM69
      17 / 3.3V <-----------> VCC
       19 / PC0 <-----------> MOSI
       21 / PC1 <-----------> MISO
       22 / PA2 <-----------> DI00
       23 / PC2 <-----------> SCK
       24 / PC3 <-----------> NSS
       25 / GND <-----------> GND
      

      Pin codes were taken from this picture:
      OrangePi pins

      I have the most recent version of the code in the development branch:

      fanta@orangepipc:~/MySensors$ git status
      On branch development
      Your branch is up-to-date with 'origin/development'.
      nothing to commit, working directory clean
      fanta@orangepipc:~/MySensors$ git log --pretty=format:'%h' -n 1
      ff0953d
      

      Although the OrangePi PC apparently does not use spidev0.0 for NAND flash like the Zero, I ended up changing the FEX. This is my current state:

      [product]
      version = "100"
      machine = "orangepi-pc"
      
      [platform]
      debug_mode = 1
      eraseflag = 1
      next_work = 2
      
      [target]
      boot_clock = 1008
      storage_type = -1
      
      [key_detect_en]
      keyen_flag = 0
      
      [fel_key]
      fel_key_max = 7
      fel_key_min = 2
      
      [card_boot]
      logical_start = 40960
      sprite_work_delay = 500
      sprite_err_delay = 200
      sprite_gpio0 = port:PL10<1><default><default><default>
      next_work = 3
      
      [box_start_os]
      used = 1
      start_type = 1
      irkey_used = 1
      pmukey_used = 1
      pmukey_num = 3
      led_power = 0
      led_state = 0
      
      [boot_init_gpio]
      used = 1
      gpio0 = port:PL10<1><default><default><1>
      gpio1 = port:PG11<1><default><default><1>
      
      [recovery_para]
      used = 1
      mode = 2
      recovery_key = port:PL04<0><default><default><default>
      
      [pm_para]
      standby_mode = 1
      
      [card0_boot_para]
      card_ctrl = 0
      card_high_speed = 1
      card_line = 4
      sdc_d1 = port:PF00<2><1><2><default>
      sdc_d0 = port:PF01<2><1><2><default>
      sdc_clk = port:PF02<2><1><2><default>
      sdc_cmd = port:PF03<2><1><2><default>
      sdc_d3 = port:PF04<2><1><2><default>
      sdc_d2 = port:PF05<2><1><2><default>
      
      [card2_boot_para]
      card_ctrl = 2
      card_high_speed = 1
      card_line = 8
      sdc_cmd = port:PC06<3><1><2><default>
      sdc_clk = port:PC05<3><1><2><default>
      sdc_d0 = port:PC08<3><1><2><default>
      sdc_d1 = port:PC09<3><1><2><default>
      sdc_d2 = port:PC10<3><1><2><default>
      sdc_d3 = port:PC11<3><1><2><default>
      sdc_d4 = port:PC12<3><1><2><default>
      sdc_d5 = port:PC13<3><1><2><default>
      sdc_d6 = port:PC14<3><1><2><default>
      sdc_d7 = port:PC15<3><1><2><default>
      sdc_2xmode = 1
      sdc_ddrmode = 1
      
      [twi_para]
      twi_port = 0
      twi_scl = port:PA11<2><default><default><default>
      twi_sda = port:PA12<2><default><default><default>
      
      [uart_para]
      uart_debug_port = 0
      uart_debug_tx = port:PA04<2><1><default><default>
      uart_debug_rx = port:PA05<2><1><default><default>
      
      [force_uart_para]
      force_uart_port = 0
      force_uart_tx = port:PF02<3><1><default><default>
      force_uart_rx = port:PF04<3><1><default><default>
      
      [jtag_para]
      jtag_enable = 0
      jtag_ms = port:PA00<3><default><default><default>
      jtag_ck = port:PA01<3><default><default><default>
      jtag_do = port:PA02<3><default><default><default>
      jtag_di = port:PA03<3><default><default><default>
      
      [clock]
      pll_video = 297
      pll_ve = 402
      pll_periph0 = 600
      pll_gpu = 576
      pll_periph1 = 600
      pll_de = 864
      
      [dram_para]
      dram_clk = 624
      dram_type = 3
      dram_zq = 0x3b3bfb
      dram_odt_en = 1
      dram_para1 = 283377664
      dram_para2 = 0
      dram_mr0 = 6208
      dram_mr1 = 64
      dram_mr2 = 24
      dram_mr3 = 2
      dram_tpr0 = 0x48a192
      dram_tpr1 = 0x1c2418d
      dram_tpr2 = 0x76051
      dram_tpr3 = 0x0
      dram_tpr4 = 0x0
      dram_tpr5 = 0x0
      dram_tpr6 = 0x64
      dram_tpr7 = 0x0
      dram_tpr8 = 0x0
      dram_tpr9 = 0x0
      dram_tpr10 = 0x0
      dram_tpr11 = 0x6aaa0000
      dram_tpr12 = 0x7979
      dram_tpr13 = 0x800800
      
      [wakeup_src_para]
      cpu_en = 0
      cpu_freq = 48
      pll_ratio = 273
      dram_selfresh_en = 1
      dram_freq = 36
      wakeup_src0 =
      wakeup_src_wl = port:PG10<4><default><default><0>
      wakeup_src_bt = port:PL03<6><default><default><0>
      
      [twi0]
      twi_used = 1
      twi_scl = port:PA11<2><default><default><default>
      twi_sda = port:PA12<2><default><default><default>
      
      [twi1]
      twi_used = 1
      twi_scl = port:PA18<3><default><default><default>
      twi_sda = port:PA19<3><default><default><default>
      
      [twi2]
      twi_used = 0
      twi_scl = port:PE12<3><default><default><default>
      twi_sda = port:PE13<3><default><default><default>
      
      [uart0]
      uart_used = 1
      uart_port = 0
      uart_type = 2
      uart_tx = port:PA04<2><1><default><default>
      uart_rx = port:PA05<2><1><default><default>
      
      [uart1]
      uart_used = 0
      uart_port = 1
      uart_type = 4
      uart_tx = port:PG06<2><1><default><default>
      uart_rx = port:PG07<2><1><default><default>
      uart_rts = port:PG08<2><1><default><default>
      uart_cts = port:PG09<2><1><default><default>
      
      [uart2]
      uart_used = 0
      uart_port = 2
      uart_type = 4
      uart_tx = port:PA00<2><1><default><default>
      uart_rx = port:PA01<2><1><default><default>
      uart_rts = port:PA02<2><1><default><default>
      uart_cts = port:PA03<2><1><default><default>
      
      [uart3]
      uart_used = 0
      uart_port = 3
      uart_type = 4
      uart_tx = port:PA13<3><1><default><default>
      uart_rx = port:PA14<3><1><default><default>
      uart_rts = port:PA15<3><1><default><default>
      uart_cts = port:PA16<3><1><default><default>
      
      [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
      
      [gpio_para]
      gpio_used = 1
      gpio_num = 20
      gpio_pin_1 = port:PA06<1><default><default><0>
      gpio_pin_2 = port:PA13<1><default><default><0>
      gpio_pin_3 = port:PA14<1><default><default><0>
      gpio_pin_4 = port:PA01<1><default><default><0>
      gpio_pin_5 = port:PD14<1><default><default><0>
      gpio_pin_6 = port:PA00<1><default><default><0>
      gpio_pin_7 = port:PA03<1><default><default><0>
      gpio_pin_8 = port:PC04<1><default><default><0>
      gpio_pin_9 = port:PC07<1><default><default><0>
      gpio_pin_10 = port:PA02<1><default><default><0>
      gpio_pin_11 = port:PA21<1><default><default><0>
      gpio_pin_12 = port:PA07<1><default><default><0>
      gpio_pin_13 = port:PA08<1><default><default><0>
      gpio_pin_14 = port:PG08<1><default><default><0>
      gpio_pin_15 = port:PA09<1><default><default><0>
      gpio_pin_16 = port:PA10<1><default><default><0>
      gpio_pin_17 = port:PG09<1><default><default><0>
      gpio_pin_18 = port:PG06<1><default><default><0>
      gpio_pin_19 = port:PG07<1><default><default><0>
      gpio_pin_20 = port:PC03<1><default><default><0>
      
      [leds_para]
      leds_used = 1
      green_led = port:PL10<1><default><default><1>
      green_led_active_low = 0
      red_led = port:PA15<1><default><default><0>
      red_led_active_low = 0
      
      [ths_para]
      ths_used = 1
      ths_trip1_count = 6
      ths_trip1_0 = 75
      ths_trip1_1 = 80
      ths_trip1_2 = 85
      ths_trip1_3 = 90
      ths_trip1_4 = 95
      ths_trip1_5 = 105
      ths_trip1_6 = 0
      ths_trip1_7 = 0
      ths_trip1_0_min = 0
      ths_trip1_0_max = 1
      ths_trip1_1_min = 1
      ths_trip1_1_max = 2
      ths_trip1_2_min = 2
      ths_trip1_2_max = 3
      ths_trip1_3_min = 3
      ths_trip1_3_max = 4
      ths_trip1_4_min = 4
      ths_trip1_4_max = 8
      ths_trip1_5_min = 8
      ths_trip1_5_max = 8
      ths_trip1_6_min = 0
      ths_trip1_6_max = 0
      ths_trip2_count = 1
      ths_trip2_0 = 105
      
      [cooler_table]
      cooler_count = 9
      cooler0 = "1296000 4 4294967295 0"
      cooler1 = "1200000 4 4294967295 0"
      cooler2 = "1008000 4 4294967295 0"
      cooler3 = "816000 4 4294967295 0"
      cooler4 = "648000 4 4294967295 0"
      cooler5 = "480000 4 4294967295 0"
      cooler6 = "480000 3 4294967295 0"
      cooler7 = "480000 2 4294967295 0"
      cooler8 = "480000 1 4294967295 0"
      
      [nand0_para]
      nand_support_2ch = 0
      nand0_used = 0
      nand0_we = port:PC00<2><default><default><default>
      nand0_ale = port:PC01<2><default><default><default>
      nand0_cle = port:PC02<2><default><default><default>
      nand0_ce1 = port:PC03<2><default><default><default>
      nand0_ce0 = port:PC04<2><default><default><default>
      nand0_nre = port:PC05<2><default><default><default>
      nand0_rb0 = port:PC06<2><default><default><default>
      nand0_rb1 = port:PC07<2><default><default><default>
      nand0_d0 = port:PC08<2><default><default><default>
      nand0_d1 = port:PC09<2><default><default><default>
      nand0_d2 = port:PC10<2><default><default><default>
      nand0_d3 = port:PC11<2><default><default><default>
      nand0_d4 = port:PC12<2><default><default><default>
      nand0_d5 = port:PC13<2><default><default><default>
      nand0_d6 = port:PC14<2><default><default><default>
      nand0_d7 = port:PC15<2><default><default><default>
      nand0_ndqs = port:PC16<2><default><default><default>
      
      [boot_disp]
      advert_disp = 0
      auto_hpd = 1
      output_type = 4
      hdmi_channel = 0
      hdmi_mode = 4
      cvbs_channel = 1
      cvbs_mode = 11
      output_full = 1
      hdmi_mode_check = 1
      
      [disp_init]
      disp_init_enable = 1
      disp_mode = 0
      screen0_output_type = 3
      screen0_output_mode = 5
      screen1_output_type = 3
      screen1_output_mode = 5
      fb0_format = 0
      fb0_width = 0
      fb0_height = 0
      fb1_format = 0
      fb1_width = 0
      fb1_height = 0
      
      [hdmi_para]
      hdmi_used = 1
      hdmi_power = "vcc-hdmi-18"
      
      [tv_para]
      tv_used = 0
      tv_dac_used = 1
      tv_dac_src0 = 0
      
      [pwm0_para]
      pwm_used = 0
      pwm_positive = port:PA05<3><0><default><default>
      
      [gmac0]
      gmac_used = 2
      gmac_power1 =
      
      [csi0]
      vip_used = 1
      vip_mode = 0
      vip_dev_qty = 1
      vip_define_sensor_list = 0
      vip_csi_pck = port:PE00<2><default><default><default>
      vip_csi_mck = port:PE01<2><default><default><default>
      vip_csi_hsync = port:PE02<2><default><default><default>
      vip_csi_vsync = port:PE03<2><default><default><default>
      vip_csi_d0 = port:PE04<2><default><default><default>
      vip_csi_d1 = port:PE05<2><default><default><default>
      vip_csi_d2 = port:PE06<2><default><default><default>
      vip_csi_d3 = port:PE07<2><default><default><default>
      vip_csi_d4 = port:PE08<2><default><default><default>
      vip_csi_d5 = port:PE09<2><default><default><default>
      vip_csi_d6 = port:PE10<2><default><default><default>
      vip_csi_d7 = port:PE11<2><default><default><default>
      vip_csi_sck = port:PE12<2><default><default><default>
      vip_csi_sda = port:PE13<2><default><default><default>
      vip_dev0_mname = "gc2035"
      vip_dev0_pos = "front"
      vip_dev0_lane = 1
      vip_dev0_twi_id = 2
      vip_dev0_twi_addr = 120
      vip_dev0_isp_used = 0
      vip_dev0_fmt = 0
      vip_dev0_stby_mode = 0
      vip_dev0_vflip = 1
      vip_dev0_hflip = 1
      vip_dev0_iovdd = ""
      vip_dev0_iovdd_vol = 2800000
      vip_dev0_avdd = ""
      vip_dev0_avdd_vol = 2800000
      vip_dev0_dvdd = ""
      vip_dev0_dvdd_vol = 1800000
      vip_dev0_afvdd = ""
      vip_dev0_afvdd_vol = 2800000
      vip_dev0_power_en = port:PA17<1><default><default><1>
      vip_dev0_reset = port:PE14<1><default><default><1>
      vip_dev0_pwdn = port:PE15<1><default><default><0>
      vip_dev0_flash_en =
      vip_dev0_flash_mode =
      vip_dev0_af_pwdn =
      vip_dev0_act_used = 0
      vip_dev0_act_name = "ad5820_act"
      vip_dev0_act_slave = 24
      vip_dev1_mname = ""
      vip_dev1_pos = "rear"
      vip_dev1_lane = 1
      vip_dev1_twi_id = 0
      vip_dev1_twi_addr =
      vip_dev1_isp_used = 0
      vip_dev1_fmt = 1
      vip_dev1_stby_mode = 0
      vip_dev1_vflip = 0
      vip_dev1_hflip = 0
      vip_dev1_iovdd = ""
      vip_dev1_iovdd_vol = 2800000
      vip_dev1_avdd = ""
      vip_dev1_avdd_vol = 2800000
      vip_dev1_dvdd = ""
      vip_dev1_dvdd_vol = 1500000
      vip_dev1_afvdd = ""
      vip_dev1_afvdd_vol = 2800000
      vip_dev1_power_en =
      vip_dev1_reset =
      vip_dev1_pwdn =
      vip_dev1_flash_en =
      vip_dev1_flash_mode =
      vip_dev1_af_pwdn =
      
      [tvout_para]
      tvout_used =
      tvout_channel_num =
      tv_en =
      
      [tvin_para]
      tvin_used =
      tvin_channel_num =
      
      [di_para]
      di_used = 1
      
      [mmc0_para]
      sdc_used = 1
      sdc_detmode = 3
      sdc_buswidth = 4
      sdc_clk = port:PF02<2><1><2><default>
      sdc_cmd = port:PF03<2><1><2><default>
      sdc_d0 = port:PF01<2><1><2><default>
      sdc_d1 = port:PF00<2><1><2><default>
      sdc_d2 = port:PF05<2><1><2><default>
      sdc_d3 = port:PF04<2><1><2><default>
      sdc_det = port:PF06<0><1><2><default>
      sdc_use_wp = 0
      sdc_wp =
      sdc_isio = 0
      sdc_regulator = "none"
      sdc_power_supply = "none"
      
      [mmc1_para]
      sdc_used = 1
      sdc_detmode = 4
      sdc_buswidth = 4
      sdc_clk = port:PG00<2><1><3><default>
      sdc_cmd = port:PG01<2><1><3><default>
      sdc_d0 = port:PG02<2><1><3><default>
      sdc_d1 = port:PG03<2><1><3><default>
      sdc_d2 = port:PG04<2><1><3><default>
      sdc_d3 = port:PG05<2><1><3><default>
      sdc_det =
      sdc_use_wp = 0
      sdc_wp =
      sdc_isio = 1
      sdc_regulator = "none"
      sdc_power_supply = "none"
      sdc_2xmode = 1
      sdc_ddrmode = 1
      
      [mmc2_para]
      sdc_used = 0
      sdc_detmode = 3
      sdc_buswidth = 8
      sdc_clk = port:PC05<3><1><2><default>
      sdc_cmd = port:PC06<3><1><2><default>
      sdc_d0 = port:PC08<3><1><2><default>
      sdc_d1 = port:PC09<3><1><2><default>
      sdc_d2 = port:PC10<3><1><2><default>
      sdc_d3 = port:PC11<3><1><2><default>
      sdc_d4 = port:PC12<3><1><2><default>
      sdc_d5 = port:PC13<3><1><2><default>
      sdc_d6 = port:PC14<3><1><2><default>
      sdc_d7 = port:PC15<3><1><2><default>
      emmc_rst = port:PC16<3><1><2><default>
      sdc_det =
      sdc_use_wp = 0
      sdc_wp =
      sdc_isio = 0
      sdc_regulator = "none"
      sdc_power_supply = "none"
      sdc_2xmode = 1
      sdc_ddrmode = 1
      
      [smc_para]
      smc_used = 0
      smc_rst = port:PA09<2><default><default><default>
      smc_vppen = port:PA20<3><default><default><default>
      smc_vppp = port:PA21<3><default><default><default>
      smc_det = port:PA10<2><default><default><default>
      smc_vccen = port:PA06<2><default><default><default>
      smc_sck = port:PA07<2><default><default><default>
      smc_sda = port:PA08<2><default><default><default>
      
      [usbc0]
      usb_used = 1
      usb_port_type = 2
      usb_detect_type = 0
      usb_id_gpio = port:PG12<0><1><default><default>
      usb_det_vbus_gpio = port:PG12<0><1><default><default>
      usb_drv_vbus_gpio = port:PL02<1><0><default><0>
      usb_host_init_state = 1
      usb_restrict_gpio =
      usb_restric_flag = 0
      usb_restric_voltage = 3550000
      usb_restric_capacity = 5
      usb_regulator_io = "nocare"
      usb_regulator_vol = 0
      usb_not_suspend = 0
      
      [usbc1]
      usb_used = 1
      usb_drv_vbus_gpio =
      usb_restrict_gpio =
      usb_host_init_state = 1
      usb_restric_flag = 0
      usb_regulator_io = "nocare"
      usb_regulator_vol = 0
      usb_not_suspend = 0
      
      [usbc2]
      usb_used = 1
      usb_drv_vbus_gpio =
      usb_restrict_gpio =
      usb_host_init_state = 1
      usb_restric_flag = 0
      usb_regulator_io = "nocare"
      usb_regulator_vol = 0
      usb_not_suspend = 0
      
      [usbc3]
      usb_used = 1
      usb_drv_vbus_gpio =
      usb_restrict_gpio =
      usb_host_init_state = 1
      usb_restric_flag = 0
      usb_regulator_io = "nocare"
      usb_regulator_vol = 0
      usb_not_suspend = 0
      
      [usb_feature]
      vendor_id = 6353
      mass_storage_id = 1
      adb_id = 2
      manufacturer_name = "USB Developer"
      product_name = "Android"
      serial_number = "20080411"
      
      [msc_feature]
      vendor_name = "USB 2.0"
      product_name = "USB Flash Driver"
      release = 100
      luns = 3
      
      [serial_feature]
      serial_unique = 0
      
      [module_para]
      module_num = 7
      module_power0 = "vcc-wifi-33"
      module_power0_vol = 0
      module_power1 =
      module_power1_vol =
      module_power2 =
      module_power2_vol =
      module_power3 =
      module_power3_vol =
      chip_en =
      lpo_use_apclk =
      
      [wifi_para]
      wifi_used = 0
      wifi_sdc_id = 1
      wifi_usbc_id = 5
      wifi_usbc_type = 1
      wl_reg_on = port:PL07<1><default><default><0>
      wl_host_wake = port:PG10<0><default><default><0>
      wl_host_wake_invert = 0
      
      [bt_para]
      bt_used = 0
      bt_uart_id = 1
      bt_rst_n =
      bt_wake =
      bt_host_wake =
      bt_host_wake_invert = 0
      
      [pcm0]
      daudio_used = 0
      daudio_master = 4
      daudio_select = 1
      audio_format = 1
      signal_inversion = 1
      mclk_fs = 128
      sample_resolution = 16
      slot_width_select = 32
      pcm_lrck_period = 32
      pcm_lrckr_period = 1
      msb_lsb_first = 0
      sign_extend = 0
      slot_index = 0
      slot_width = 32
      frame_width = 0
      tx_data_mode = 0
      rx_data_mode = 0
      i2s_mclk = port:PA18<2><1><default><default>
      i2s_bclk = port:PA19<2><1><default><default>
      i2s_dout0 = port:PA20<2><1><default><default>
      i2s_din = port:PA21<2><1><default><default>
      
      [pcm1]
      daudio_used = 0
      daudio_master = 4
      daudio_select = 1
      audio_format = 1
      signal_inversion = 1
      mclk_fs = 128
      sample_resolution = 16
      slot_width_select = 32
      pcm_lrck_period = 32
      pcm_lrckr_period = 1
      msb_lsb_first = 0
      sign_extend = 0
      slot_index = 0
      slot_width = 32
      frame_width = 0
      tx_data_mode = 0
      rx_data_mode = 0
      i2s_mclk = port:PG10<2><1><default><default>
      i2s_bclk = port:PG11<2><1><default><default>
      i2s_dout0 = port:PG12<2><1><default><default>
      i2s_din = port:PG13<2><1><default><default>
      
      [audio0]
      audio_used = 1
      lineout_vol = 31
      cap_vol = 5
      audio_hp_ldo = "none"
      adcagc_used = 0
      adcdrc_used = 0
      dacdrc_used = 0
      adchpf_used = 0
      dachpf_used = 0
      audio_pa_ctrl = port:PA16<1><default><default><0>
      
      [spdif0]
      spdif_used = 0
      spdif_dout = port:PA17<2><1><default><default>
      
      [audiohub]
      hub_used = 0
      codec_used = 1
      spdif_used = 1
      hdmi_used = 1
      
      [s_cir0]
      ir_used = 1
      ir_rx = port:PL11<2><1><default><default>
      ir_power_key_code0 = 87
      ir_addr_code0 = 40704
      ir_power_key_code1 = 26
      ir_addr_code1 = 64260
      ir_power_key_code2 = 20
      ir_addr_code2 = 32640
      ir_power_key_code3 = 21
      ir_addr_code3 = 32640
      ir_power_key_code4 = 11
      ir_addr_code4 = 63240
      ir_power_key_code5 = 3
      ir_addr_code5 = 239
      ir_power_key_code6 = 159
      ir_addr_code6 = 19635
      ir_power_key_code7 = 10
      ir_addr_code7 = 30536
      ir_power_key_code8 = 69
      ir_addr_code8 = 48386
      ir_power_key_code9 = 77
      ir_addr_code9 = 56865
      ir_power_key_code10 = 24
      ir_addr_code10 = 65025
      ir_power_key_code11 = 87
      ir_addr_code11 = 65280
      ir_power_key_code12 = 77
      ir_addr_code12 = 65344
      
      [cir]
      ir_used = 1
      ir_tx = port:PH07<2><default><default><default>
      
      [dvfs_table]
      pmuic_type = 2
      pmu_gpio0 = port:PL06<1><1><2><1>
      pmu_level0 = 11300
      pmu_level1 = 1100
      extremity_freq = 1296000000
      max_freq = 1200000000
      min_freq = 480000000
      LV_count = 7
      LV1_freq = 1296000000
      LV1_volt = 1320
      LV2_freq = 1200000000
      LV2_volt = 1240
      LV3_freq = 1104000000
      LV3_volt = 1180
      LV4_freq = 1008000000
      LV4_volt = 1140
      LV5_freq = 960000000
      LV5_volt = 1080
      LV6_freq = 816000000
      LV6_volt = 1020
      LV7_freq = 480000000
      LV7_volt = 980
      
      [gpu_dvfs_table]
      G_LV_count = 3
      G_LV0_freq = 312000000
      G_LV0_volt = 1200000
      G_LV1_freq = 384000000
      G_LV1_volt = 1200000
      G_LV2_freq = 456000000
      G_LV2_volt = 1200000
      
      [Vdevice]
      Vdevice_used = 0
      Vdevice_0 = port:PH10<5><1><2><default>
      Vdevice_1 = port:PH11<5><1><2><default>
      
      [s_uart0]
      s_uart_used = 0
      s_uart_tx = port:PL02<2><default><default><default>
      s_uart_rx = port:PL03<2><default><default><default>
      
      [s_rsb0]
      s_rsb_used = 1
      s_rsb_sck = port:PL00<2><1><2><default>
      s_rsb_sda = port:PL01<2><1><2><default>
      
      [s_jtag0]
      s_jtag_used = 0
      s_jtag_tms = port:PL04<2><1><2><default>
      s_jtag_tck = port:PL05<2><1><2><default>
      s_jtag_tdo = port:PL06<2><1><2><default>
      s_jtag_tdi = port:PL07<2><1><2><default>
      
      [s_powchk]
      s_powchk_used = -2147483648
      s_power_reg = 0
      s_system_power = 50
      
      [sim0]
      scr_used = 0
      scr_vccen = port:PA06<2><default><default><default>
      scr_slk = port:PA07<2><default><default><default>
      scr_sda = port:PA08<2><default><default><default>
      scr_rst = port:PA09<2><default><default><default>
      scr_det = port:PA10<2><default><default><default>
      
      [ts0]
      tsc_used = 0
      tsc_clk = port:PE00<3><default><default><default>
      tsc_err = port:PE01<3><default><default><default>
      tsc_sync = port:PE02<3><default><default><default>
      tsc_dvld = port:PE03<3><default><default><default>
      tsc_d0 = port:PE04<3><default><default><default>
      tsc_d1 = port:PE05<3><default><default><default>
      tsc_d2 = port:PE06<3><default><default><default>
      tsc_d3 = port:PE07<3><default><default><default>
      tsc_d4 = port:PE08<3><default><default><default>
      tsc_d5 = port:PE09<3><default><default><default>
      tsc_d6 = port:PE10<3><default><default><default>
      tsc_d7 = port:PE11<3><default><default><default>
      
      [gpio_power_key]
      key_used = 1
      key_io = port:PL03<6><default><default><0>
      
      [key_para]
      key_used = 0
      key_cnt = 5
      key1_vol = 222
      key2_vol = 444
      key3_vol = 666
      key4_vol = 857
      key5_vol = 2000
      
      [d7s_para]
      d7s_used = 0
      din_gpio = port:PD00<1><default><default><1>
      clk_gpio = port:PD01<1><default><default><1>
      stb_gpio = port:PD02<1><default><default><1>
      
      [mali_para]
      mali_used = 1
      mali_clkdiv = 1
      mali_extreme_freq = 600
      mali_extreme_vol = 1400
      
      [w1_para]
      w1_used = 1
      gpio = 20
      
      [corekeeper]
      corekeeper_enabled = 1
      
      

      Note that I added a line to the gpio section in one of my attempts to make this work, in order to map PA2 to GPIO20 (or at least that was what I was trying to accomplish).

      I'm trying to compile an MQTT gateway, so my configure line is:

      ./configure --spi-spidev-device=/dev/spidev0.0 --my-rfm69-irq-pin=10 --my-rfm69-cs-pin=20 --my-transport=rfm69 --my-rfm69-frequency=433 --my-gateway=mqtt --my-controller-ip-address=127.0.0.1 --my-mqtt-publish-topic-prefix=mysensors-out --my-mqtt-subscribe-topic-prefix=mysensors-in --my-mqtt-client-id=mygateway1 --extra-cxxflags="-DMY_DEBUG_VERBOSE_RFM69"
      

      And here is the core of my problem - which values to use for IRQ pin and CS pin. If I use 10 for IRQ. I compile with no problems, but when I run

      sudo bin/mysgw -d
      

      I get:

      fanta@orangepipc:~/MySensors$ sudo bin/mysgw -d
      mysgw: Starting gateway...
      mysgw: Protocol version - 2.2.0-beta
      mysgw: MCO:BGN:INIT GW,CP=RPNG----,VER=2.2.0-beta
      mysgw: TSF:LRT:OK
      mysgw: TSM:INIT
      mysgw: TSF:WUR:MS=0
      mysgw: RFM69:INIT
      mysgw: RFM69:INIT:PIN,CS=20,IQP=10,IQN=2
      mysgw: RFM69:PTX:LEVEL=5 dBm
      mysgw: Could not open /sys/class/gpio/gpio10/direction
      

      I have already tried enabling GPIO10:

      fanta@orangepipc:~/MySensors$ echo "10" |sudo tee /sys/class/gpio/export
      10
      tee: /sys/class/gpio/export: Device or resource busy
      

      My gpio readall outputs this:

      fanta@orangepipc:~/MySensors$ gpio readall
       +-----+-----+----------+------+---+-Orange Pi+---+---+------+---------+-----+--+
       | BCM | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | BCM |
       +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+
       |     |     |     3.3v |      |   |  1 || 2  |   |      | 5v       |     |     |
       |  12 |   8 |    SDA.0 | ALT5 | 0 |  3 || 4  |   |      | 5V       |     |     |
       |  11 |   9 |    SCL.0 | ALT5 | 0 |  5 || 6  |   |      | 0v       |     |     |
       |   6 |   7 |   GPIO.7 |  OUT | 0 |  7 || 8  | 0 | OUT  | TxD3     | 15  | 13  |
       |     |     |       0v |      |   |  9 || 10 | 0 | OUT  | RxD3     | 16  | 14  |
       |   1 |   0 |     RxD2 |  OUT | 0 | 11 || 12 | 0 | OUT  | GPIO.1   | 1   | 110 |
       |   0 |   2 |     TxD2 |  OUT | 0 | 13 || 14 |   |      | 0v       |     |     |
       |   3 |   3 |     CTS2 |  OUT | 0 | 15 || 16 | 0 | OUT  | GPIO.4   | 4   | 68  |
       |     |     |     3.3v |      |   | 17 || 18 | 0 | OUT  | GPIO.5   | 5   | 71  |
       |  64 |  12 |     MOSI | ALT4 | 0 | 19 || 20 |   |      | 0v       |     |     |
       |  65 |  13 |     MISO | ALT4 | 0 | 21 || 22 | 0 | OUT  | RTS2     | 6   | 2   |
       |  66 |  14 |     SCLK | ALT4 | 0 | 23 || 24 | 0 | OUT  | CE0      | 10  | 67  |
       |     |     |       0v |      |   | 25 || 26 | 0 | OUT  | GPIO.11  | 11  | 21  |
       |  19 |  30 |    SDA.1 | ALT4 | 0 | 27 || 28 | 0 | ALT4 | SCL.1    | 31  | 18  |
       |   7 |  21 |  GPIO.21 |  OUT | 0 | 29 || 30 |   |      | 0v       |     |     |
       |   8 |  22 |  GPIO.22 |  OUT | 0 | 31 || 32 | 0 | OUT  | RTS1     | 26  | 200 |
       |   9 |  23 |  GPIO.23 |  OUT | 0 | 33 || 34 |   |      | 0v       |     |     |
       |  10 |  24 |  GPIO.24 |  OUT | 0 | 35 || 36 | 0 | OUT  | CTS1     | 27  | 201 |
       |  20 |  25 |  GPIO.25 |  OUT | 1 | 37 || 38 | 0 | OUT  | TxD1     | 28  | 198 |
       |     |     |       0v |      |   | 39 || 40 | 0 | OUT  | RxD1     | 29  | 199 |
       +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+
       | BCM | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | BCM |
       +-----+-----+----------+------+---+-Orange Pi+---+------+----------+-----+-----+
      

      So I tried --my-rfm69-irq-pin=2 --my-rfm69-cs-pin=67 as well, but I run into the same problem with pin 2.

      Can anyone help me find out which pin numbers to use?

      Thanks in advance!

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

        @awilner I am in a hurry right now so I cannot go through what you wrote in detail, but maybe my post about pin numbering can help you: https://forum.mysensors.org/post/58309 It is related to an OPi Plus2e using nrf24 but the numbering formulas should still be valid.

        Good luck!

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

        awilnerA 1 Reply Last reply
        1
        • pansenP pansen

          @awilner I am in a hurry right now so I cannot go through what you wrote in detail, but maybe my post about pin numbering can help you: https://forum.mysensors.org/post/58309 It is related to an OPi Plus2e using nrf24 but the numbering formulas should still be valid.

          Good luck!

          awilnerA Offline
          awilnerA Offline
          awilner
          wrote on last edited by
          #66

          @pansen , Thank you so much!!! I managed to find two pins that didn't give me this error, PA11 and PA12, and now at least the chip configuration and communication apparently works.

          1 Reply Last reply
          1
          • 8 Offline
            8 Offline
            8667
            wrote on last edited by
            #67

            I wanted to build MQTT client gateway with whitelisting and encryption + 3 LEDs with Arduino UNO and Ethernet shield but it does not have enough memory.

            Before going to Arduino MEGA I found this and I think this will be a better way to do it. Smaller, cheaper..just not sure if it has all the options. Can someone confirm? Whitelisting will be easier then reflashing Arduino all the time too.

            I plan to use Orange Pi Zero H2+ Quad Core 256MB

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

              If your conditions are

              • 3 LEDs: yes through GPIO
              • Ethernet: yes (d'uh)
              • beefy enough for software encryption: I guess? For an IoT-low data rate scenario for sure

              I'm running armbian on my Orange Pi and setting up mosquitto is a breeze. But you don't need a broker right? Don't forget you need an SD card on top and more power.

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

              1 Reply Last reply
              0
              • 8 Offline
                8 Offline
                8667
                wrote on last edited by
                #69

                Thanks, I already have a broker and OpenHAB. Want this gateway to act as a client....maybe it will even support SSL MQTT. And encryption with

                #define MY_RF24_ENABLE_ENCRYPTION is wanted.

                In the article, there is no list of all available configurations...yea adding SD card does not make it cheaper

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

                  i'm sorry, i do not have experience with encryption. essentially it depends on the code you want to write, since on the pi you are kind of limited to scripting, whereas microcontroller code is closer to hardware. also, if you need things like an adc or spi you're better of with a microcontroller. if it's just about some LEDs lighting up..

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

                  1 Reply Last reply
                  0
                  • 8 8667

                    Thanks, I already have a broker and OpenHAB. Want this gateway to act as a client....maybe it will even support SSL MQTT. And encryption with

                    #define MY_RF24_ENABLE_ENCRYPTION is wanted.

                    In the article, there is no list of all available configurations...yea adding SD card does not make it cheaper

                    mfalkviddM Offline
                    mfalkviddM Offline
                    mfalkvidd
                    Mod
                    wrote on last edited by
                    #71

                    @8667 said in 💬 Building a Orange Pi Gateway:

                    In the article, there is no list of all available configurations..

                    From the article:

                    For a complete list of configuration parameters, run:

                    ./configure --help

                    Did you miss this or is there something I'm not understanding?

                    1 Reply Last reply
                    0
                    • B Offline
                      B Offline
                      BAsavaraj004
                      wrote on last edited by
                      #72

                      mysgw: Could not open /sys/class/gpio/gpio10/direction
                      Please help me to solve this error

                      mfalkviddM 1 Reply Last reply
                      0
                      • B BAsavaraj004

                        mysgw: Could not open /sys/class/gpio/gpio10/direction
                        Please help me to solve this error

                        mfalkviddM Offline
                        mfalkviddM Offline
                        mfalkvidd
                        Mod
                        wrote on last edited by
                        #73

                        @BAsavaraj004 could you describe what you did when you got that error?

                        1 Reply Last reply
                        0
                        • B Offline
                          B Offline
                          BAsavaraj004
                          wrote on last edited by
                          #74

                          @mfalkvidd
                          When I executed sudo ./bin/mysgw -d this command after that i'm facing error like :

                          mysgw: Starting gateway...
                          mysgw: Protocol version - 2.2.0-beta
                          mysgw: MCO:BGN:INIT GW,CP=RNNG----,VER=2.2.0-beta
                          mysgw: TSF:LRT:OK
                          mysgw: TSM:INIT
                          mysgw: TSF:WUR:MS=0
                          mysgw: Could not open /sys/class/gpio/gpio24/direction
                          I followed all the steps provide in the site but still I am getting error.

                          mfalkviddM 1 Reply Last reply
                          0
                          • B BAsavaraj004

                            @mfalkvidd
                            When I executed sudo ./bin/mysgw -d this command after that i'm facing error like :

                            mysgw: Starting gateway...
                            mysgw: Protocol version - 2.2.0-beta
                            mysgw: MCO:BGN:INIT GW,CP=RNNG----,VER=2.2.0-beta
                            mysgw: TSF:LRT:OK
                            mysgw: TSM:INIT
                            mysgw: TSF:WUR:MS=0
                            mysgw: Could not open /sys/class/gpio/gpio24/direction
                            I followed all the steps provide in the site but still I am getting error.

                            mfalkviddM Offline
                            mfalkviddM Offline
                            mfalkvidd
                            Mod
                            wrote on last edited by
                            #75

                            @BAsavaraj004 thanks. Earlier posts indicate that the "Could not open" error could be caused by a problem with the pin mapping. I don't have an OrangePi myself so I don't know the details but maybe these posts can help:
                            https://forum.mysensors.org/post/69656
                            https://forum.mysensors.org/post/60943
                            https://forum.mysensors.org/post/56374

                            1 Reply Last reply
                            0
                            • S SdeWeb

                              Hi,
                              Well done finally i used the dedicated .fex file for Orange Pi Plus 2E here :
                              https://linux-sunxi.org/Xunlong_Orange_Pi_Plus_2E#Expansion_Port

                              at this point :
                              https://github.com/igorpecovnik/lib/blob/master/config/fex/orangepiplus2e.fex

                              Read the .fex file in a text editor, u'll see important things about "gpio_config" for H3 cpu :

                              ; NOTE: This section is necessary only for "gpio_sunxi" driver
                              ; which is obsolete for H3 boards
                              [gpio_para]
                              gpio_used = 0
                              gpio_num = 0
                              

                              I connected my NRF24L01 on OPI P2E like this :

                              NRF24L01 Port Name / (Pin N°) ----- OPI Port (Pin N°) / Name
                                                    GND (1)  <-----------> (20) / GND
                                                    VCC (2)  <-----------> (17) / 3.3V PWR
                                                    CE (3)   <-----------> (22) / (PA2 / GPIO2)
                                                    CSN (4)  <-----------> (24) / (PC3 / GPIO67)
                                                    SCK (5)  <-----------> (23)
                                                    MOSI (6) <-----------> (19) MOSI
                                                    MISO (7) <-----------> (21) MISO
                                                    IRQ (8)  <-----------> NC
                              

                              So "MySensors" setup is :

                              ./configure --spi-spidev-device=/dev/spidev0.0 --my-transport=nrf24 --my-rf24-ce-pin=2 --my-rf24-cs-pin=67
                              

                              Then

                              ./bin/mysgw -d
                              

                              Return :

                              root@orangepiplus2e:~/MySensors# ./bin/mysgw -d
                              mysgw: Starting gateway...
                              mysgw: Protocol version - 2.2.0-beta
                              mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.2.0-beta
                              mysgw: TSM:INIT
                              mysgw: TSF:WUR:MS=0
                              mysgw: TSM:INIT:TSP OK
                              mysgw: TSM:INIT:GW MODE
                              mysgw: TSM:READY:ID=0,PAR=0,DIS=0
                              mysgw: MCO:REG:NOT NEEDED
                              mysgw: Listening for connections on 0.0.0.0:5003
                              mysgw: MCO:BGN:STP
                              mysgw: MCO:BGN:INIT OK,TSP=1
                              

                              Best.
                              Seb.

                              E Offline
                              E Offline
                              ElDuderino
                              wrote on last edited by ElDuderino
                              #76

                              @SdeWeb said in 💬 Building a Orange Pi Gateway:

                              Hi,
                              Well done finally i used the dedicated .fex file for Orange Pi Plus 2E here :
                              https://linux-sunxi.org/Xunlong_Orange_Pi_Plus_2E#Expansion_Port

                              at this point :
                              https://github.com/igorpecovnik/lib/blob/master/config/fex/orangepiplus2e.fex

                              Read the .fex file in a text editor, u'll see important things about "gpio_config" for H3 cpu :

                              ; NOTE: This section is necessary only for "gpio_sunxi" driver
                              ; which is obsolete for H3 boards
                              [gpio_para]
                              gpio_used = 0
                              gpio_num = 0
                              

                              I connected my NRF24L01 on OPI P2E like this :

                              NRF24L01 Port Name / (Pin N°) ----- OPI Port (Pin N°) / Name
                                                    GND (1)  <-----------> (20) / GND
                                                    VCC (2)  <-----------> (17) / 3.3V PWR
                                                    CE (3)   <-----------> (22) / (PA2 / GPIO2)
                                                    CSN (4)  <-----------> (24) / (PC3 / GPIO67)
                                                    SCK (5)  <-----------> (23)
                                                    MOSI (6) <-----------> (19) MOSI
                                                    MISO (7) <-----------> (21) MISO
                                                    IRQ (8)  <-----------> NC
                              

                              So "MySensors" setup is :

                              ./configure --spi-spidev-device=/dev/spidev0.0 --my-transport=nrf24 --my-rf24-ce-pin=2 --my-rf24-cs-pin=67
                              

                              Then

                              ./bin/mysgw -d
                              

                              Return :

                              root@orangepiplus2e:~/MySensors# ./bin/mysgw -d
                              mysgw: Starting gateway...
                              mysgw: Protocol version - 2.2.0-beta
                              mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.2.0-beta
                              mysgw: TSM:INIT
                              mysgw: TSF:WUR:MS=0
                              mysgw: TSM:INIT:TSP OK
                              mysgw: TSM:INIT:GW MODE
                              mysgw: TSM:READY:ID=0,PAR=0,DIS=0
                              mysgw: MCO:REG:NOT NEEDED
                              mysgw: Listening for connections on 0.0.0.0:5003
                              mysgw: MCO:BGN:STP
                              mysgw: MCO:BGN:INIT OK,TSP=1
                              

                              Best.
                              Seb.

                              This worked great on my Orange Pi Lite.
                              I was trying to follow the tutorial at Building a Orange Pi Gateway and I tried all sorts of things that didn't work.
                              IMO the main tutorial should have this as instruction to building a gateway with Orange Pi Lite/Plus.
                              Thanks!!
                              ( Sorry for quoting the entire original post, but this will help anyone searching for help with their Orange Pi Lite)

                              1 Reply Last reply
                              0
                              • 8 Offline
                                8 Offline
                                8667
                                wrote on last edited by
                                #77

                                I got the OrangeZero and was building the configuration command... can someone provide me more detailed instructions about using higher security?

                                1. Is it possible to use SSL for the connecting to the broker?
                                2. How whitelisting works with Pi? I moved away of Arduino as I do not want to recompile it everytime I need to include new node. So far I have
                                -my-signing-request-signatures --my-signing-debug --my-signing=password --my-signing-password=SOMETHING --my-rf24-encryption-enabled
                                

                                but this will not allow me to exclude stolen nodes right?

                                AnticimexA 1 Reply Last reply
                                0
                                • 8 8667

                                  I got the OrangeZero and was building the configuration command... can someone provide me more detailed instructions about using higher security?

                                  1. Is it possible to use SSL for the connecting to the broker?
                                  2. How whitelisting works with Pi? I moved away of Arduino as I do not want to recompile it everytime I need to include new node. So far I have
                                  -my-signing-request-signatures --my-signing-debug --my-signing=password --my-signing-password=SOMETHING --my-rf24-encryption-enabled
                                  

                                  but this will not allow me to exclude stolen nodes right?

                                  AnticimexA Offline
                                  AnticimexA Offline
                                  Anticimex
                                  Contest Winner
                                  wrote on last edited by
                                  #78

                                  @8667 no, it won't. As it is for the moment, whitelisting works no different compared to Arduino based devices. You will have to recompile your GW if you add new nodes as you will need to add their serials to the whitelist in the GW.

                                  Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                                  8 1 Reply Last reply
                                  0
                                  • AnticimexA Anticimex

                                    @8667 no, it won't. As it is for the moment, whitelisting works no different compared to Arduino based devices. You will have to recompile your GW if you add new nodes as you will need to add their serials to the whitelist in the GW.

                                    8 Offline
                                    8 Offline
                                    8667
                                    wrote on last edited by
                                    #79

                                    @Anticimex said in 💬 Building a Orange Pi Gateway:

                                    @8667 no, it won't. As it is for the moment, whitelisting works no different compared to Arduino based devices. You will have to recompile your GW if you add new nodes as you will need to add their serials to the whitelist in the GW.

                                    So how personalization works on the orange and how to pass the list of serials?

                                    AnticimexA 1 Reply Last reply
                                    0
                                    • 8 8667

                                      @Anticimex said in 💬 Building a Orange Pi Gateway:

                                      @8667 no, it won't. As it is for the moment, whitelisting works no different compared to Arduino based devices. You will have to recompile your GW if you add new nodes as you will need to add their serials to the whitelist in the GW.

                                      So how personalization works on the orange and how to pass the list of serials?

                                      AnticimexA Offline
                                      AnticimexA Offline
                                      Anticimex
                                      Contest Winner
                                      wrote on last edited by
                                      #80

                                      @8667 not sure. I have not been involved in the rPi port. I suggest you pass --help to the configure command. It should give a list of options.

                                      Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                                      1 Reply Last reply
                                      0
                                      • 8 Offline
                                        8 Offline
                                        8667
                                        wrote on last edited by
                                        #81

                                        This should be in the wiki

                                        root@pi0:~/MySensors# ./configure --help
                                        configure script for MySensors gateway.
                                        Options:
                                        
                                        Help:
                                            -h, --help                  print this message
                                        
                                        SPI driver options:
                                            --spi-driver=[BCM|SPIDEV]
                                            --spi-spidev-device=<DEVICE>
                                                                        Device path. [/dev/spidev0.0]
                                        
                                        Building options:
                                            --soc=[BCM2835|BCM2836|BCM2837|AM33XX|A10|A13|A20|H3]
                                                                        SoC type to be used. [configure autodetected]
                                            --cpu-flags=<CPUFLAGS>      CPU defining/optimizing flags to be used. [configure autodetected]
                                            --extra-cflags=<CFLAGS>     Extra C flags passed to C compilation. []
                                            --extra-cxxflags=<CXXFLAGS> Extra C++ flags passed to C++ compilation. []
                                            --extra-ldflags=<LDFLAGS>   Extra C flags passed to linking. []
                                            --c_compiler=<CC>           C compiler. [arm-linux-gnueabihf-gcc][gcc]
                                            --cxx_compiler=<CXX>        C++ compiler. [arm-linux-gnueabihf-g++][g++]
                                            --build-dir=<DIR>           Compiler directory to store object files. [build]
                                            --bin-dir=<DIR>             Compiler directory to store binary files. [bin]
                                            --arduino-lib-dir=<DIR>     Arduino library directory.
                                            --no-clean                  Don't clean previous build artifacts.
                                        
                                        Installation options:
                                            --prefix=<PREFIX>           Installation prefix path. [/usr/local]
                                            --gateway-dir=<DIR>         Gateway files installation directory. [PREFIX/bin]
                                        
                                        MySensors options:
                                            --my-debug=[enable|disable] Enables or disables MySensors core debugging. [enable]
                                            --my-config-file=<FILE>     Config file path. [/etc/mysensors.dat]
                                            --my-gateway=[none|ethernet|serial|mqtt]
                                                                        Set the protocol used to communicate with the controller.
                                                                        [ethernet]
                                            --my-node-id=<ID>           Disable gateway feature and run as a node with the specified id.
                                            --my-controller-url-address=<URL>
                                                                        Controller or MQTT broker url.
                                            --my-controller-ip-address=<IP>
                                                                        Controller or MQTT broker ip.
                                            --my-port=<PORT>            The port to keep open on gateway mode.
                                                                        If gateway is set to mqtt, it sets the broker port.
                                            --my-serial-port=<PORT>     Serial port. [/dev/ttyACM0]
                                            --my-serial-baudrate=<BAUD> Serial baud rate. [115200]
                                            --my-serial-is-pty          Set the serial port to be a pseudo terminal. Use this if you want
                                                                        to connect to a controller running on the same device.
                                            --my-serial-pty=<NAME>      Symlink name for the PTY device. [/dev/ttyMySensorsGateway]
                                            --my-serial-groupname=<GROUP>
                                                                        Grant access to the specified system group for the serial device.
                                            --my-mqtt-client-id=<ID>    MQTT client id.
                                            --my-mqtt-user=<UID>        MQTT user id.
                                            --my-mqtt-password=<PASS>   MQTT password.
                                            --my-mqtt-publish-topic-prefix=<PREFIX>
                                                                        MQTT publish topic prefix.
                                            --my-mqtt-subscribe-topic-prefix=<PREFIX>
                                                                        MQTT subscribe topic prefix.
                                            --my-transport=[none|nrf24|rs485|rfm95|rfm69]
                                                                        Set the transport to be used to communicate with other nodes.
                                                                        [nrf24]
                                            --my-rf24-channel=<0-125>   RF channel for the sensor net. [76]
                                            --my-rf24-pa-level=[RF24_PA_MAX|RF24_PA_LOW]
                                                                        RF24 PA level. [RF24_PA_MAX]
                                            --my-rf24-ce-pin=<PIN>      Pin number to use for rf24 Chip-Enable.
                                            --my-rf24-cs-pin=<PIN>      Pin number to use for rf24 Chip-Select.
                                            --my-rf24-irq-pin=<PIN>     Pin number connected to nRF24L01 IRQ pin.
                                            --my-rf24-encryption-enabled
                                                                        Enables RF24 encryption.
                                                                        All nodes and gateway must have this enabled, and all must be
                                                                        personalized with the same AES key
                                            --my-rx-message-buffer-size=<SIZE>
                                                                        Buffer size for incoming messages when using rf24 interrupts. [20]
                                            --my-rfm69-frequency=[315|433|868|915]
                                                                        RFM69 Module Frequency. [868]
                                            --my-is-rfm69hw             Enable high-powered rfm69hw.
                                            --my-rfm69-irq-pin=<PIN>    Pin number connected to RFM69 IRQ pin.
                                            --my-rfm69-cs-pin=<PIN>     Pin number to use for RFM69 Chip-Select.
                                            --my-rs485-serial-port=<PORT>
                                                                        RS485 serial port. You must provide a port.
                                            --my-rs485-baudrate=<BAUD>  RS485 baudrate. [9600]
                                            --my-rs485-de-pin=<PIN>     Pin number connected to RS485 driver enable pin.
                                            --my-rs485-max-msg-length=<LENGTH>
                                                                        The maximum message length used for RS485. [40]
                                            --my-leds-err-pin=<PIN>     Error LED pin.
                                            --my-leds-rx-pin=<PIN>      Receive LED pin.
                                            --my-leds-tx-pin=<PIN>      Transmit LED pin.
                                            --my-leds-blinking-inverse  Inverse the blinking feature.
                                            --my-signing=[none|software|password]
                                                                        Message signing. [none]
                                            --my-signing-debug          Enable signing related debug.
                                            --my-signing-request-signatures
                                                                        Enable signature request from nodes that in turn requested
                                                                        gateway signature.
                                            --my-signing-weak_security  Enable this to permit downgrade of security preferences and
                                                                        relaxed gateway signing requirements.
                                            --my-signing-password=<PASSWORD>
                                                                        If you are using password as the signature type, set your password here.
                                        
                                        root@pi0:~/MySensors# sudo ./bin/mysgw -h
                                        mysgw: Config file /etc/mysensors.dat does not exist, creating new config file.
                                        Usage: mysgw [options]
                                        
                                        Options:
                                          -h, --help                 Display a short summary of all program options.
                                          -d, --debug                Enable debug.
                                          -b, --background           Run as a background process.
                                          --gen-soft-hmac-key        Generate and print a soft hmac key.
                                          --gen-soft-serial-key      Generate and print a soft serial key.
                                          --gen-aes-key              Generate and print an aes encryption key.
                                          --print-soft-hmac-key      Print the soft hmac key from the config file.
                                          --print-soft-serial-key    Print the soft serial key from the config file.
                                          --print-aes-key            Print the aes encryption key from the config file.
                                          --set-soft-hmac-key        Write a soft hmac key to the config file.
                                          --set-soft-serial-key      Write a soft serial key to the config file.
                                          --set-aes-key              Write an aes encryption key to the config file.
                                        
                                        AnticimexA mfalkviddM 2 Replies Last reply
                                        0
                                        • 8 8667

                                          This should be in the wiki

                                          root@pi0:~/MySensors# ./configure --help
                                          configure script for MySensors gateway.
                                          Options:
                                          
                                          Help:
                                              -h, --help                  print this message
                                          
                                          SPI driver options:
                                              --spi-driver=[BCM|SPIDEV]
                                              --spi-spidev-device=<DEVICE>
                                                                          Device path. [/dev/spidev0.0]
                                          
                                          Building options:
                                              --soc=[BCM2835|BCM2836|BCM2837|AM33XX|A10|A13|A20|H3]
                                                                          SoC type to be used. [configure autodetected]
                                              --cpu-flags=<CPUFLAGS>      CPU defining/optimizing flags to be used. [configure autodetected]
                                              --extra-cflags=<CFLAGS>     Extra C flags passed to C compilation. []
                                              --extra-cxxflags=<CXXFLAGS> Extra C++ flags passed to C++ compilation. []
                                              --extra-ldflags=<LDFLAGS>   Extra C flags passed to linking. []
                                              --c_compiler=<CC>           C compiler. [arm-linux-gnueabihf-gcc][gcc]
                                              --cxx_compiler=<CXX>        C++ compiler. [arm-linux-gnueabihf-g++][g++]
                                              --build-dir=<DIR>           Compiler directory to store object files. [build]
                                              --bin-dir=<DIR>             Compiler directory to store binary files. [bin]
                                              --arduino-lib-dir=<DIR>     Arduino library directory.
                                              --no-clean                  Don't clean previous build artifacts.
                                          
                                          Installation options:
                                              --prefix=<PREFIX>           Installation prefix path. [/usr/local]
                                              --gateway-dir=<DIR>         Gateway files installation directory. [PREFIX/bin]
                                          
                                          MySensors options:
                                              --my-debug=[enable|disable] Enables or disables MySensors core debugging. [enable]
                                              --my-config-file=<FILE>     Config file path. [/etc/mysensors.dat]
                                              --my-gateway=[none|ethernet|serial|mqtt]
                                                                          Set the protocol used to communicate with the controller.
                                                                          [ethernet]
                                              --my-node-id=<ID>           Disable gateway feature and run as a node with the specified id.
                                              --my-controller-url-address=<URL>
                                                                          Controller or MQTT broker url.
                                              --my-controller-ip-address=<IP>
                                                                          Controller or MQTT broker ip.
                                              --my-port=<PORT>            The port to keep open on gateway mode.
                                                                          If gateway is set to mqtt, it sets the broker port.
                                              --my-serial-port=<PORT>     Serial port. [/dev/ttyACM0]
                                              --my-serial-baudrate=<BAUD> Serial baud rate. [115200]
                                              --my-serial-is-pty          Set the serial port to be a pseudo terminal. Use this if you want
                                                                          to connect to a controller running on the same device.
                                              --my-serial-pty=<NAME>      Symlink name for the PTY device. [/dev/ttyMySensorsGateway]
                                              --my-serial-groupname=<GROUP>
                                                                          Grant access to the specified system group for the serial device.
                                              --my-mqtt-client-id=<ID>    MQTT client id.
                                              --my-mqtt-user=<UID>        MQTT user id.
                                              --my-mqtt-password=<PASS>   MQTT password.
                                              --my-mqtt-publish-topic-prefix=<PREFIX>
                                                                          MQTT publish topic prefix.
                                              --my-mqtt-subscribe-topic-prefix=<PREFIX>
                                                                          MQTT subscribe topic prefix.
                                              --my-transport=[none|nrf24|rs485|rfm95|rfm69]
                                                                          Set the transport to be used to communicate with other nodes.
                                                                          [nrf24]
                                              --my-rf24-channel=<0-125>   RF channel for the sensor net. [76]
                                              --my-rf24-pa-level=[RF24_PA_MAX|RF24_PA_LOW]
                                                                          RF24 PA level. [RF24_PA_MAX]
                                              --my-rf24-ce-pin=<PIN>      Pin number to use for rf24 Chip-Enable.
                                              --my-rf24-cs-pin=<PIN>      Pin number to use for rf24 Chip-Select.
                                              --my-rf24-irq-pin=<PIN>     Pin number connected to nRF24L01 IRQ pin.
                                              --my-rf24-encryption-enabled
                                                                          Enables RF24 encryption.
                                                                          All nodes and gateway must have this enabled, and all must be
                                                                          personalized with the same AES key
                                              --my-rx-message-buffer-size=<SIZE>
                                                                          Buffer size for incoming messages when using rf24 interrupts. [20]
                                              --my-rfm69-frequency=[315|433|868|915]
                                                                          RFM69 Module Frequency. [868]
                                              --my-is-rfm69hw             Enable high-powered rfm69hw.
                                              --my-rfm69-irq-pin=<PIN>    Pin number connected to RFM69 IRQ pin.
                                              --my-rfm69-cs-pin=<PIN>     Pin number to use for RFM69 Chip-Select.
                                              --my-rs485-serial-port=<PORT>
                                                                          RS485 serial port. You must provide a port.
                                              --my-rs485-baudrate=<BAUD>  RS485 baudrate. [9600]
                                              --my-rs485-de-pin=<PIN>     Pin number connected to RS485 driver enable pin.
                                              --my-rs485-max-msg-length=<LENGTH>
                                                                          The maximum message length used for RS485. [40]
                                              --my-leds-err-pin=<PIN>     Error LED pin.
                                              --my-leds-rx-pin=<PIN>      Receive LED pin.
                                              --my-leds-tx-pin=<PIN>      Transmit LED pin.
                                              --my-leds-blinking-inverse  Inverse the blinking feature.
                                              --my-signing=[none|software|password]
                                                                          Message signing. [none]
                                              --my-signing-debug          Enable signing related debug.
                                              --my-signing-request-signatures
                                                                          Enable signature request from nodes that in turn requested
                                                                          gateway signature.
                                              --my-signing-weak_security  Enable this to permit downgrade of security preferences and
                                                                          relaxed gateway signing requirements.
                                              --my-signing-password=<PASSWORD>
                                                                          If you are using password as the signature type, set your password here.
                                          
                                          root@pi0:~/MySensors# sudo ./bin/mysgw -h
                                          mysgw: Config file /etc/mysensors.dat does not exist, creating new config file.
                                          Usage: mysgw [options]
                                          
                                          Options:
                                            -h, --help                 Display a short summary of all program options.
                                            -d, --debug                Enable debug.
                                            -b, --background           Run as a background process.
                                            --gen-soft-hmac-key        Generate and print a soft hmac key.
                                            --gen-soft-serial-key      Generate and print a soft serial key.
                                            --gen-aes-key              Generate and print an aes encryption key.
                                            --print-soft-hmac-key      Print the soft hmac key from the config file.
                                            --print-soft-serial-key    Print the soft serial key from the config file.
                                            --print-aes-key            Print the aes encryption key from the config file.
                                            --set-soft-hmac-key        Write a soft hmac key to the config file.
                                            --set-soft-serial-key      Write a soft serial key to the config file.
                                            --set-aes-key              Write an aes encryption key to the config file.
                                          
                                          AnticimexA Offline
                                          AnticimexA Offline
                                          Anticimex
                                          Contest Winner
                                          wrote on last edited by
                                          #82

                                          @8667 if there is no option for the whitelist, you should still be able to set it using the same #define as mentioned in the signing documentation. The implementation is shared.
                                          It makes sense to keep it like that since the list could be quite long.

                                          Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

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


                                          9

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 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