[RTEX] Domobox-DIY : box déportée Odroid-C2 - WiFi - Bluetooth

Bonjour à tous, c’est akenad :slight_smile: ,

Aujourd’hui je vais vous présenter un retour d’expérience
sur ce que je vais appeler la « Domobox-DIY » :
C’est un Odroid-C2 avec des clés USB Wi-Fi et Bluetooth.
Elle peut être alors utilisée comme une antenne bluetooth déportée du plugin blea.

Voici les équipements utilisés:

  • Odroid-C2 avec mémoire eMMC hardkernel 32 Go
  • Clé USB Wi-Fi (HardKernel WiFi Module 5 : chipset Realtek RTL8812AU)
  • Clé USB Bluetooth BLE 4.0 SENA Model Parani-UD100a, avec une antenne additionnelle SMA ominidirectionnelle 2,4 Ghz 12dbi

L’objectif de cette Domobox est d’avoir une box facilement déplaçable dans la maison, elle ne nécessite qu’une prise secteur.
Elle n’a pas Jeedom d’installé, mais elle est au service d’autres box jeedom de la maison en embarquant des fonctionnalités déportées. En particulier une antenne Bluetooth déportée pour le plugin jeedom BLEA.

Les étapes de mise en œuvre sont les suivantes :

  • Installation de Armbian Buster Kernel 5 sur l’Odroid-C2
  • mise à jour du système
  • pré-configuration du Wi-Fi sur la Domobox
  • mise en œuvre de la clé Wi-Fi
  • mise en œuvre de la clé Bluetooth

1) Installation de Armbian Buster Kernel 5 sur l’Odroid-C2

Pour installer Armbian Buster Kernel 5 sur un Odroid-C2 avec eMMC, suivre le étapes 1) à 3) ici : [RTEX] Odroid-C2 - eMMC - Armbian Buster Kernel 5.3 - Jeedom V4
(dans la suite le hostname est « domobox »)

2) mise à jour du système

Connexion SSH avec le compte jeedom, et passage en root :

jeedom@domobox:~$ su -
root@domobox:~# apt update
root@domobox:~# apt upgrade
root@domobox:~# reboot

Le kernel a été mis à jour :

jeedom@domobox:~$ uname -a
Linux domobox 5.4.28-meson64 #20.02.8 SMP PREEMPT Mon Mar 30 09:12:52 CEST
2020 aarch64 GNU/Linux

3) pré-configuration du Wi-Fi sur la Domobox

Par défaut le réseau est géré par le service « NetworkManager »
et l’adresse MAC de l’interface wifi est aléatoire. Pour la fixer à sa valeur hardware, ajouter à la fin du fichier :

nano /etc/NetworkManager/NetworkManager.conf 

[device]
wifi.scan-rand-mac-address=no

4) mise en œuvre de la clé Wi-Fi

Arrêter le système :
# halt
Attendre que la led bleue s’éteigne.
Débrancher le cordon d’alimentation de l’Odroid-C2.
Connecter les clés USB Wi-Fi et BLE.
Rebrancher le cordon d’alimentation.
(conserver le câble Ethernet déjà connecté)
Se connecter en SSH sur l’adresse IP de l’interface Ethernet avec le compte jeedom, et passage en root :

$ su -

Les commandes lsusb et ip a donnent cela :

root@domobox:~# lsusb
Bus 001 Device 005: ID 0bda:8812 Realtek Semiconductor Corp. RTL8812AU 802.11a/b/g/n/ac 2T2R DB WLAN Adapter
Bus 001 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@domobox:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:1e:06:36:3d:ff brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.242/24 brd 10.10.10.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::2754:c65b:d966:415c/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: wlx40a5efd5de1c: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2312 qdisc mq state DORMANT group default qlen 1000
    link/ether 40:a5:ef:d5:de:1c brd ff:ff:ff:ff:ff:ff

La clé USB Wi-Fi est reconnue par le système car il embarque par défaut le driver du chipset Realtek RTL8812AU.
Le nom de l’interface est « wlx40a5efd5de1c » et son adresse MAC « 40:a5:ef:d5:de:1c ».

Nota : par défaut il y a 3 services qui tournent associés au fonctionnement réseau, leur statut est visible par les commandes :

# systemctl status networking
# systemctl status NetworkManager
# systemctl status wpa_supplicant

Nous allons finaliser la configuration de l’interface Wi-Fi :

Mon réseau Wi-Fi est configuré en WPA2-PSK, aussi appelés «WPA2 Personnel».

La gestion du réseau étant réalisée par le service « NetworkManager », nous n’allons pas modifier un fichier de configuration à la main mais nous allons utiliser l’utilitaire « armbian-config » :

# armbian-config

Sélectionner l’option network, puis l’option WiFi.
Sélectionner le réseau Wi-fi (« monSSID ») , saisir le mot de passe du réseau Wi-Fi, et sélectionner « Activate ».

Arrêter le système :
# halt

Attendre que la led bleue s’éteigne.
Débrancher le cordon d’alimentation de l’Odroid-C2.
Laisser Connecté les clés USB Wi-Fi et BLE.
Débrancher le câble Ethernet.
Rebrancher le cordon d’alimentation.
Attendre que la led bleue clignote.

Trouver l’adresse IP allouée par le serveur DHCP à l’Odroid-C2 en consultant le serveur DHCP (la Box Internet si c’est le serveur DHCP) ou par exemple avec l’outil NMAP. Fixer l’adresse IP dans le serveur DHCP sur l’adresse MAC de la clé Wi-Fi.

Se connecter en SSH sur l’adresse IP de l’interface Wi-Fi avec le compte jeedom.
La commande « ip a » donnent cela :

jeedom@domobox:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:1e:06:36:3d:ff brd ff:ff:ff:ff:ff:ff
3: wlx40a5efd5de1c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2312 qdisc mq state UP group default qlen 1000
    link/ether 40:a5:ef:d5:de:1c brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.56/24 brd 10.10.10.255 scope global dynamic noprefixroute wlx40a5efd5de1c
       valid_lft 86247sec preferred_lft 86247sec
    inet6 fe80::e784:13ab:a99c:eb84/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

La Domobox est connecté au réseau de la maison en Wi-Fi.

Pour reprendre la main sur la Domobox en cas de problème, il est toujours possible de débrancher la clé Wi-Fi et de rebrancher le câble Ethernet.

5) mise en œuvre de la clé bluetooth :

Utilisation d’un Port Bluetooth HCI pour la clé SENA :

root@domobox:~# apt install bluetooth
root@domobox:~# apt install bluez
root@domobox:~# dmesg | grep HCI
[    1.918578] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.918601] ehci-pci: EHCI PCI platform driver
[    1.918627] ehci-platform: EHCI generic platform driver
[    1.918724] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.918734] ohci-pci: OHCI PCI platform driver
[    1.918762] ohci-platform: OHCI generic platform driver
[    1.949921] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.816555] Bluetooth: HCI device and connection manager initialized
[    3.816568] Bluetooth: HCI socket layer initialized

La clé est active sur hci0 :

root@domobox:~# hciconfig -a
hci0: Type: Primary Bus: USB
BD Address: 00:01:95:48:93:1B ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING
RX bytes:1220 acl:0 sco:0 events:72 errors:0
TX bytes:2788 acl:0 sco:0 commands:72 errors:0
Features: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x5b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: ‹ domobox ›
Class: 0x000000
Service Classes: Unspecified
Device Class: Miscellaneous,
HCI Version: 4.0 (0x6) Revision: 0x2031
LMP Version: 4.0 (0x6) Subversion: 0x2031
Manufacturer: Cambridge Silicon Radio (10)

Elle peut être alors utilisée comme une antenne bluetooth déportée du plugin blea.

/!\ ATTENTION : bien vérifier la bonne installation des dépendances, en particulier les modules python3 sur l’antenne.

Voila j’espère que ce retour d’expérience sera utile aux membres Jeedom.

akenad :slight_smile:

Bonjour Akenad,

je viens de lire votre post sur l’integration du Wifi.

Je possede une jeedom smart, est ce qu’il y a une procedure similaire pour ajouter le Wifi.

Si oui, est ce risqué en cas de fausse manip?

cordialement

Franck

Bonjour @franckf,

Ce sujet ne concerne pas la Smart.

tu as déjà ouvert un sujet ici : Jeedom smart et Wifi

akenad :slight_smile:

@akenad
Bonjour,
A la suite d’un soucis exposé dans les discussions générales, je souhaite rendre mon Odroid c2 avec jeedom accessible en wifi en plus d’être accessible par internet. Je pense que ton Tuto pourrait m’aider. Toutefois le module 5 ne se trouve plus lequel pourrait faire l’affaire et surtout que penses tu de mon idée ?
Merci pour ta réponse
Cordialement

Bonjour,

Jeedom supporte le wifi uniquement avec l’Atlas et la Luna.

akenad :slight_smile:

@akenad
Merci pour cette réponse mais si je mets un module comme décrit dans ton Tuto l’odroid c2 devient wifi ? Donc il me faut un Odroid pour le wifi avec le module et un Odroid avec jeedom et ce dernier se connectera au premier via son wifi ?

Oui.

Je ne sais pas dire, je ne comprends pas ce que tu cherches à faire.

akenad :slight_smile:

@akenad
Je te mets mon message qui est dans les discussions générales :
« Bonjour,
J’ai récemment eu un problème avec ma Livebox 4: l’adaptateur fibre a brûlé’ plus d’internet.
Toutefois mes caméras Foscam ont continué à être accessibles. (Je ne comprends pas pourquoi !) avec l’application Ipfoscamwiever lite.
Mais je croyais que Jeedom continuerait à fonctionner et par exemple ouvrir et fermer mes volets pilotés avec le plugin Boxio en CPL. Eh bien pas du tout !
Alors je comprends pas pourquoi et cela doit être la même chose avec mes Zwave ?
Si quelqu’un pouvait m’éclairer cela m’aiderait à comprendre.
Cordialement »
Donc ce que je souhaite c’est lors d’un tel incident continuer à avoir accès à mon jeedom via le wifi comme avec mes caméras

1 « J'aime »

Alors ton problème c’est surtout que certains équipements ne fonctionnent qu’avec le cloud et donc pas sans Internet. Le wifi sur l’Odroid-C2 ne résoudra pas ton problème.

akenad :slight_smile:

@akenad
Ok mais avec cette solution penses tu que je puisse accéder à jeedom car j’ai des ESP qui fonctionnent en wifi, Boxio ne fonctionne pas avec le Cloud. La grosse question avoir accès en wifi à jeedom sur mon odroid
Le module décrit dans ton Tuto ne semble plus être dispo penses tu que. le module 5A peut le remplacer?

Je ne comprends toujours pas ou tu veux en venir. Comme déjà dit Jeedom ne supporte pas Odroid-C2 (=Smart) + wifi + jeedom.
L’objet de mon article est Odroid-C2 + wifi (pas en mode point d’accès), sans jeedom.
Si ta box internet/wifi ne fonctionne pas, tu peux utiliser en local un point d’accès wifi et un switch.

Je ne sais pas dire si le module 5a est compatible

akenad :slight_smile: