hybridgroup / gobot

Golang framework for robotics, drones, and the Internet of Things (IoT)
https://gobot.io
Other
8.88k stars 1.04k forks source link

[SBC] Orange Pi Zero #423

Open niaow opened 7 years ago

niaow commented 7 years ago

I would like to add support for the Orange Pi Zero, and ideally some of the other Orange Pi's. I am planning to use Orange Pi Zero to run a workshop this year, and would ideally like to use gobot for it.

Some helpful links: Orange Pi Armbian - the best board image for Orange Pi boards

Armbian has an image with a newer kernel (4.x) for the Orange Pi, and I believe that sysfs access to GPIO works. I will check tommorow on one of my Orange Pi One boards.

deadprogram commented 7 years ago

Hi @jadr2ddude this post has the GPIO mappings for this board: https://kaspars.net/blog/linux/orange-pi-zero-gpio

Seems like adding it would not take long. Are you planning on working on this? :)

niaow commented 7 years ago

@deadprogram yes I will work on it. However I only have Orange Pi One at the moment. I will need to wait for it to be shipped before I can test Zero pin mappings.

deadprogram commented 7 years ago

This appears to provide the Orange Pi One mappings if you wanted to add that as well: https://cdn.instructables.com/FVP/79LM/INRJEEUJ/FVP79LMINRJEEUJ.LARGE.jpg

chneau commented 6 years ago

Hello, I'm willing to help for the Orange Pi One (H3 allwiner) I don't remember my source but here is a json of the mapping.

[
  {
    "key": 3,
    "value": 12
  },
  {
    "key": 5,
    "value": 11
  },
  {
    "key": 7,
    "value": 6
  },
  {
    "key": 8,
    "value": 13
  },
  {
    "key": 10,
    "value": 14
  },
  {
    "key": 11,
    "value": 1
  },
  {
    "key": 12,
    "value": 110
  },
  {
    "key": 13,
    "value": 0
  },
  {
    "key": 15,
    "value": 3
  },
  {
    "key": 16,
    "value": 68
  },
  {
    "key": 18,
    "value": 71
  },
  {
    "key": 19,
    "value": 64
  },
  {
    "key": 21,
    "value": 65
  },
  {
    "key": 22,
    "value": 2
  },
  {
    "key": 23,
    "value": 66
  },
  {
    "key": 24,
    "value": 67
  },
  {
    "key": 26,
    "value": 21
  },
  {
    "key": 27,
    "value": 19
  },
  {
    "key": 28,
    "value": 18
  },
  {
    "key": 29,
    "value": 7
  },
  {
    "key": 31,
    "value": 8
  },
  {
    "key": 32,
    "value": 200
  },
  {
    "key": 33,
    "value": 9
  },
  {
    "key": 35,
    "value": 10
  },
  {
    "key": 36,
    "value": 201
  },
  {
    "key": 37,
    "value": 20
  },
  {
    "key": 38,
    "value": 198
  },
  {
    "key": 40,
    "value": 199
  }
]
niaow commented 6 years ago

I feel like we could simplify this by just making a multipurpose struct for a SBC where we can just provide a mapping.

gen2thomas commented 6 months ago

Hi @niaow I was thinking along the same lines. If we could change the implementation to a more generic one and just add the mappings with some unified structures - this would be nice. Do you have done some implementations in this direction?