====== NanoPiM1 ======
de http://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=109 et http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M1
===== GPIO =====
En utilisant les codes de WiringPi pour la NanoPi :
* http://wiki.friendlyarm.com/wiki/index.php/WiringNP:_WiringPi_for_NanoPi
* http://tech.scargill.net/banana-pi-m2/
* library from https://github.com/zhaolei/WiringOP
git clone https://github.com/friendlyarm/WiringNP
cd WiringNP/
git checkout nanopi-m1 #uniquement dans le cas d'une NanopiM1
chmod 755 build
./build
Then, you can test it executing this command:
gpio readall
on peut accéder plus facilement à toutes les entrées/sorties
# gpio readall
+-----+-----+----------+------+---+-NanoPI M1+---+------+----------+-----+-----+
| 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 | | |
| 203 | 7 | GPIO.7 | OFF | 0 | 7 || 8 | 0 | OFF | TxD3 | 15 | 198 |
| | | 0v | | | 9 || 10 | 0 | OFF | RxD3 | 16 | 199 |
| 0 | 0 | RxD2 | OFF | 0 | 11 || 12 | 0 | OFF | GPIO.1 | 1 | 6 |
| 2 | 2 | TxD2 | OFF | 0 | 13 || 14 | | | 0v | | |
| 3 | 3 | CTS2 | OFF | 0 | 15 || 16 | 0 | OFF | GPIO.4 | 4 | 200 |
| | | 3.3v | | | 17 || 18 | 0 | OFF | GPIO.5 | 5 | 201 |
| 64 | 12 | MOSI | ALT4 | 0 | 19 || 20 | | | 0v | | |
| 65 | 13 | MISO | ALT4 | 0 | 21 || 22 | 0 | OFF | RTS2 | 6 | 1 |
| 66 | 14 | SCLK | ALT4 | 0 | 23 || 24 | 0 | ALT4 | CE0 | 10 | 67 |
| | | 0v | | | 25 || 26 | 0 | OFF | GPIO.11 | 11 | 17 |
| 19 | 30 | SDA.1 | ALT4 | 0 | 27 || 28 | 0 | ALT4 | SCL.1 | 31 | 18 |
| 20 | 21 | GPIO.21 | OFF | 0 | 29 || 30 | | | 0v | | |
| 21 | 22 | GPIO.22 | OFF | 0 | 31 || 32 | 0 | OFF | RTS1 | 26 | 7 |
| 8 | 23 | GPIO.23 | OFF | 0 | 33 || 34 | | | 0v | | |
| 16 | 24 | GPIO.24 | OFF | 0 | 35 || 36 | 1 | OUT | CTS1 | 27 | 13 |
| 9 | 25 | GPIO.25 | OFF | 0 | 37 || 38 | 0 | OFF | TxD1 | 28 | 15 |
| | | 0v | | | 39 || 40 | 0 | OFF | RxD1 | 29 | 14 |
+-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+----------+------+---+-NanoPI M1+---+------+----------+-----+-----+
+-----+----NanoPI M1 Debug UART---+----+
| BCM | wPi | Name | Mode | V | Ph |
+-----+-----+----------+------+---+----+
| | | 0v | | | 41 |
| | | 5v | | | 42 |
| 4 | 32 | GPIO.4 | IN | 1 | 43 |
| 5 | 33 | GPIO.5 | ALT5 | 0 | 44 |
+-----+-----+----------+------+---+----+
et la base etait
GPIO1 Pin Define
Pin# Name Pin# Name
1 SYS_3.3V 2 VDD_5V
3 I2C0_SDA 4 VDD_5V
5 I2C0_SCL 6 GND
7 GPIOG11 8 UART1_TX/GPIOG6
9 GND 10 UART1_RX/GPIOG7
11 UART2_TX/GPIOA0 12 PWM1/GPIOA6
13 UART2_RTS/GPIOA2 14 GND
15 UART2_CTS/GPIOA3 16 UART1_RTS/GPIOG8
17 SYS_3.3V 18 UART1_CTS/GPIOG9
19 SPI0_MOSI/GPIOC0 20 GND
21 SIP0_MISO/GPIOC1 22 UART2_RX/GPIOA1
23 SPI0_CLK/GPIOC29 24 SPI0_CS/GPIOC3
25 GND 26 SPDIF-OUT/GPIOA17
27 I2C1_SDA/GPIOA19 28 I2C1_SCL/GPIOA18
29 GPIOA20 30 GND
31 GGPIOA21 32 GPIOA7
33 GPIOA8 34 GND
35 UART3_CTS/SPI1_MISO/GPIOA16 36 UART3_TX/SPI1_CS/GPIOA13
37 GPIOA9 38 UART3_RTS/SPI1_MOSI/GPIOA15
39 GND 40 UART3_RX/SPI1_CLK/GPIOA14
Finalement après test ( merci Peter Scargill et au forum arbian )
Pin 3 GPIO2 = gpio write 8 on
Pin 5 GPIO3 = gpio write 9 on
Pin 7 GPIO4 = gpio write 7 on
Pin 11 GPIO17 = could not figure out – default off
Pin 13 GPIO27 = gpio write 2 on
Pin 15 GPIO22 = gpio write 3 on
Pin 19 GPIO10 = gpio write 12 on
Pin 21 GPIO9 = gpio write 13 on
pin 23 GPIO11 = gpio write 14 on
pin 29 GPIO5 = gpio write 21 on
pin 31 GPIO6 = gpio write 22 on
pin 33 GPIO13 = gpio write 23 on
pin 35 GPIO19 = gpio write 24 on
pin 37 GPIO26 = could not figure out – default off
pin 8 GPIO14 = gpio write 15 on
pin 10 GPIO15 = gpio write 16 on
pin 12 GPIO18 = could not figure out – default off
pin 16 GPIO23 = could not figure out – default on
pin 18 GPIO24 = gpio write 4 on
pin 22 GPIO25 = gpio write 6 on
pin 24 GPIO8 = gpio write 10 on
pin 26 GPIO7 = gpio write 5 on
pin 32 GPIO12 = could not figure out – default off
pin 36 GPIO16 = could not figure out – default off
pin 38 GPIO20 = could not figure out – default on
pin 40 GPIO21 = gpio write 25 on
ensuite gpio mode 4 input et gpio read 4 donne 1 ou 0 suivant signal
===== Préparation d'une base avec un support graphiques (XFCE)=====
Image de départ : http://www.armbian.com/nanopi-m1/ http://www.armbian.com/donate/?f=Armbian_5.20_Nanopim1_Debian_jessie_3.4.112_desktop.7z
pas de graphique chez moi sur mon vieille écran mais bien une connexion ssh car la carte réseau est bien configurée en DHCP , (pass root:1234)
==== Caméra OV5640 ====
Configuration pour l'utilisation de [[http://www.friendlyarm.com/index.php?route=product/product&product_id=155&search=CAM500b&description=true&category_id=0&sub_category=true|la caméra OV5640]] changement du script.bin
**nanopim1.fex**
cd /boot
bin2fex script.bin nanopim1.fex
#modifier nanopim1 !!
#
[csi0]
vip_used = 1
vip_mode = 0
vip_dev_qty = 1
vip_define_sensor_list = 0
vip_csi_pck = port:PE00<2>
vip_csi_mck = port:PE01<2>
vip_csi_hsync = port:PE02<2>
vip_csi_vsync = port:PE03<2>
vip_csi_d0 = port:PE04<2>
vip_csi_d1 = port:PE05<2>
vip_csi_d2 = port:PE06<2>
vip_csi_d3 = port:PE07<2>
vip_csi_d4 = port:PE08<2>
vip_csi_d5 = port:PE09<2>
vip_csi_d6 = port:PE10<2>
vip_csi_d7 = port:PE11<2>
vip_csi_sck = port:PE12<2>
vip_csi_sda = port:PE13<2>
vip_dev0_mname = "ov5640"
vip_dev0_pos = "rear"
vip_dev0_lane = 2
vip_dev0_twi_id = 2
vip_dev0_twi_addr = 0x78
vip_dev0_isp_used = 0
vip_dev0_fmt = 0
vip_dev0_stby_mode = 0
vip_dev0_vflip = 0
vip_dev0_hflip = 0
vip_dev0_iovdd = ""
vip_dev0_iovdd_vol = 2800000
vip_dev0_avdd = ""
vip_dev0_avdd_vol = 2800000
vip_dev0_dvdd = ""
vip_dev0_dvdd_vol = 1500000
vip_dev0_afvdd = ""
vip_dev0_afvdd_vol =
vip_dev0_power_en =
vip_dev0_reset = port:PE14<1>
vip_dev0_pwdn = port:PE15<1>
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 = 0x18
#FIN camera
Puis pour mettre en place le nouveau script.bin
cd /boot
fex2bin nanopim1.fex script.bin
Utilisation de Guvcview for OPI with CMOS Camera (H3 - A64 - A83T) / NanoPi M2 / M3 with USB camera , télécharger et installer https://github.com/avafinger/guvcview (xawtv ne fonctionne pas)
==== Autres ====
=== Modifications après l'upgrade ===
* http://docs.armbian.com/User-Guide_Fine-Tuning/
* /etc/default/locale /etc/default/keyboard à modifier et dpkg-reconfigure locales , dpkg-reconfigure tz-data
* h3disp -m 720p60 -d -c 1 pour une résolution pas trop grande sur un nouvel écran
* ajout de xx-fr pour les pg , libreoffice, firefox
* modprobe ov5640 ; modprobe vfe_v4l2
**Ajouts**
* au cazou : script pour minimiser la consommation echo 0 >/sys/devices/system/cpu/cpu3/online
echo 0 >/sys/devices/system/cpu/cpu2/online
echo 0 >/sys/devices/system/cpu/cpu1/online
echo 408000 >/sys/devices/platform/sunxi-ddrfreq/devfreq/sunxi-ddrfreq/userspace/set_freq
=== Recherche autour de l'acces aux GPIO ===
trouver une interface relativement standard pour nous , puredata ? ( genre pduino/firmata )
* https://github.com/zhaolei/WiringOP piste modifier gpio python orangepi
* https://sourceforge.net/projects/pdwiringpigpio/ https://sourceforge.net/projects/pdwiringpigpio/files/
* https://github.com/garthz/pdwiringPi et donc https://yudanta.me/installing-wiringpi-library-on-orangepi-pc-device/ => piste bonne ?
GPIO A20/H3/H2 style RpiGPIO python :
* https://github.com/duxingkei33/orangepi_PC_gpio_pyH3
* https://pypi.python.org/pypi/pyA20
=== Connexion sur le moniteur avec un cable serie/USB ===
Connecter le Debug Port(UART0) en 115200 bauds grace a gtkterm en graphique ou a screen /dev/ttyUSB0 dans le terminal
Pin# Nom Adaptateur USB/serie ( fil noir/rouge/vert/blanc )
1 GND --------> noir
2 VDD_5V -----> Non Connecté
3 UART_TXD0 ---> Blanc
4 UART_RXD0 ---> Vert