Table des matières:
- Provisions:
- Étape 1: Pièces
- Étape 2: Vérifiez Ethernet et Wifi
- Étape 3: Installation du logiciel
- Étape 4: Configurer le serveur DHCP
- Étape 5: Configurer Wlan0 pour une adresse IP statique
- Étape 6: Configurer le point d'accès
- Étape 7: Configurer la traduction d'adresses réseau
- Étape 8: Mise à jour de Hostapd
- Étape 9: Premier test!
- Étape 10: Terminer!
- Extra: Retrait du suppliant WPA
- Étape 11: Connecter et tester
- Plus!
- Étape 12: Compiler Hostapd
- Étape 13: REMARQUE: Force Server n'est pas encore disponible.
- Étape 14: Téléchargez et configurez le serveur Force
- Télécharger
- Créer une copie du modèle dans lequel travailler
- Démarrez votre script Force Server au démarrage
- Étape 15: Configuration de la télécommande Force
Dans ce didacticiel, vous apprendrez à transformer votre Raspberry Pi en un point d'accès sans fil (WAP), à installer le serveur Force sur ce dernier et à le lancer au démarrage afin de pouvoir l'étendre dans vos projets futurs.
----- Détails sur le serveur de force pour aller ici ----- (Intentionnellement laissé de côté)
À la fin de cet Instructable, vous serez capable de simplement:
- Allumez votre Raspberry Pi
- Se connecter à son réseau
- Contrôlez-le depuis votre téléphone à l'aide de l'application Force
Le tutoriel de création WAP suivant est basé sur / réécrit sur le tutoriel en ligne d'Adafruit dont le lien est ici.
Provisions:
Étape 1: Pièces
Vous aurez besoin des éléments suivants:
- Un Raspberry Pi
- Une connexion Internet Ethernet pour votre Raspberry Pi
- Adaptateur Wi-Fi prenant en charge le mode AP (les adaptateurs Adafruit Wi-Fi fonctionnent)
- (Micro) carte SD 4 Go minimum avec Raspbian installé dessus (il y a beaucoup de tutoriels sur la façon de faire, juste sur Google)
- Lecteur de carte SD si vous devez installer Raspbian
- Alimentation pour votre Raspberry Pi (5V 1 ~ 2A)
Étape 2: Vérifiez Ethernet et Wifi
Avant de continuer, assurez-vous que le câble Ethernet est bien connecté et que vous pouvez sortir du Pi.
Vous voudrez également configurer votre clé WiFi. courir sudo shutdown -h maintenant Branchez ensuite le module WiFi lorsque le Pi est éteint afin de ne pas causer de surtension. Quand il revient vérifier avec ifconfig -a que tu vois wlan0 - le module WiFi.
Étape 3: Installation du logiciel
Tapez ce qui suit dans le terminal.
sudo apt-get update
sudo apt-get install isc-dhcp-server
Étape 4: Configurer le serveur DHCP
Ensuite, nous allons éditer /etc/dhcp/dhcpd.conf, un fichier qui configure notre serveur DHCP - cela permet aux connexions wifi d’obtenir automatiquement des adresses IP, DNS, etc.
Exécutez cette commande pour éditer le fichier.
sudo nano /etc/dhcp/dhcpd.conf
Trouvez les lignes qui disent
option domain-name "exemple.org"; option domain-name-servers ns1.example.org, ns2.example.org;
et les changer pour ajouter un # au début afin qu'ils disent
#option nom-domaine "exemple.org"; # option domaines-nom-serveurs ns1.example.org, ns2.example.org;
Trouvez les lignes qui disent
# Si ce serveur DHCP est le serveur DHCP officiel pour le serveur local
# réseau, la directive faisant autorité ne doit pas être commentée. #authoritative;
et retirez le # donc il est dit
# Si ce serveur DHCP est le serveur DHCP officiel du réseau # local, la directive faisant autorité devrait être décommentée. faisant autorité;
Ensuite, faites défiler vers le bas et ajoutez les lignes suivantes
sous-réseau 192.168.42.0 masque de réseau 255.255.255.0 {plage 192.168.42.10 192.168.42.50; option adresse de diffusion 192.168.42.255; les routeurs d'options 192.168.42.1; durée de bail par défaut 600; max-bail-time 7200; option nom de domaine "local"; option domain-name-servers 8.8.8.8, 8.8.4.4; }
Enregistrez le fichier en tapant Control-X puis Y puis revenir
Courir
sudo nano / etc / default / isc-dhcp-server
et faites défiler jusqu'à INTERFACES = "" et le mettre à jour pour dire INTERFACES = "wlan0"
fermer et sauvegarder le fichier
Étape 5: Configurer Wlan0 pour une adresse IP statique
Si vous avez wlan0 actif parce que vous le configurez, exécutez
sudo si bas wlan0
Il n'y a pas de mal à l'exécuter si vous n'êtes pas sûr
Ensuite, nous allons configurer la connexion wlan0 pour qu'elle soit statique et entrante. lancez sudo nano / etc / network / interfaces pour éditer le fichier
Recherchez la ligne auto wlan0 et ajoutez un # devant la ligne, puis devant chaque ligne. Si vous n'avez pas cette ligne, assurez-vous simplement qu'elle ressemble à la capture d'écran ci-dessous! En gros, supprimez tous les anciens paramètres de configuration wlan0, nous les modifierons
En fonction de votre configuration / distribution existante, il peut y avoir plus ou moins de texte et il peut varier un peu
Ajouter les lignes
iface wlan0 inet adresse statique 192.168.42.1 masque de réseau 255.255.255.0
Après allow-hotplug wlan0 - voir ci-dessous pour un exemple de ce à quoi cela devrait ressembler. Toute autre ligne doit ensuite avoir un # en face pour les désactiver
Enregistrez le fichier (Control-X Y) Attribuez une adresse IP statique à l'adaptateur wifi en exécutant:
sudo ifconfig wlan0 192.168.42.1
Étape 6: Configurer le point d'accès
Nous pouvons maintenant configurer les détails du point d'accès. Nous allons configurer un réseau protégé par mot de passe afin que seules les personnes disposant d'un mot de passe puissent se connecter. Créez un nouveau fichier en exécutant
sudo nano /etc/hostapd/hostapd.conf
Collez ce qui suit dans, vous pouvez changer le texte après ssid = en un autre nom, qui sera le nom de la diffusion réseau. Le mot de passe peut être changé avec le texte après wpa_passphrase =
interface = wlan0 driver = rtl871xdrv ssid = TheForceServer hw_mode = g channel = 9 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = TheForceServerOnPi wpa_key_mm = WPA
Si vous n'utilisez pas les adaptateurs wifi Adafruit, vous devrez peut-être modifier le pilote = rtl871xdrv dire driver = nl80211 ou quelque chose comme ça, nous n'avons pas de tutoriel pour cela, YMMV!
Enregistrer comme d'habitude. Assurez-vous que chaque ligne ne comporte ni espace ni tabulation supplémentaire à la fin ou au début - ce fichier est assez difficile! Nous allons maintenant indiquer au Pi où trouver ce fichier de configuration. Courir
sudo nano / etc / default / hostapd
Trouver la ligne # DAEMON_CONF = "" et éditez-le donc il est dit DAEMON_CONF = "/ etc / hostapd / hostapd.conf"N'oubliez pas d'enlever le # devant pour l'activer! Puis enregistrez le fichier.
Étape 7: Configurer la traduction d'adresses réseau
La configuration de NAT permettra à plusieurs clients de se connecter au réseau Wi-Fi et de «tunnelliser» toutes les données via une seule adresse IP Ethernet. (Mais vous devriez le faire même si un seul client va se connecter)
Courir
sudo nano /etc/sysctl.conf
Faites défiler vers le bas et ajoutez net.ipv4.ip_forward = 1 sur une nouvelle ligne. Enregistrez le fichier. Cela démarrera le transfert IP au démarrage.
Aussi courir
sudo sh -c "echo 1> / proc / sys / net / ipv4 / ip_forward"
pour l'activer immédiatement.
Exécutez les commandes suivantes pour créer la traduction réseau entre le port Ethernet eth0 et le port wifi wlan0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED, ESTABLISHED -j ACCEPTER
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPTER
Vous pouvez vérifier ce qui est dans les tableaux avec
sudo iptables -t nat -S
sudo iptables -S
Pour que cela se produise au redémarrage (afin que vous n'ayez pas à le taper à chaque fois), exécutez
sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
courir sudo nano / etc / network / interfaces et ajouter
up iptables-restore </etc/iptables.ipv4.nat
jusqu'à la fin.
Étape 8: Mise à jour de Hostapd
Avant de pouvoir exécuter le logiciel de point d'accès, nous devons le mettre à jour vers une version prenant en charge l'adaptateur WiFi. Commencez par obtenir la nouvelle version en tapant
wget
pour télécharger la nouvelle version (consultez la section suivante pour savoir comment compiler votre propre hostapd mis à jour), puis
Décompressez adafruit_hostapd_14128.zip
pour le décompresser. Déplacez l'ancienne version hors du chemin avec
sudo mv / usr / sbin / hostapd /usr/sbin/hostapd.ORIG
Et déplacez la nouvelle version avec
sudo mv hostapd / usr / sbin
mis en place de sorte qu'il soit valide pour fonctionner avec
sudo chmod 755 / usr / sbin / hostapd
Étape 9: Premier test!
Enfin, nous pouvons tester l'hôte du point d'accès!
Courir
sudo / usr / sbin / hostapd /etc/hostapd/hostapd.conf
Pour exécuter manuellement hostapd avec notre fichier de configuration. Vous devriez le voir installer et utiliser wlan0 alors vous pouvez vérifier avec un autre ordinateur wifi que vous voyez votre SSID apparaître. Si c'est le cas, vous avez correctement configuré le point d'accès.
Vous pouvez essayer de vous connecter et de vous déconnecter du TheForceServer avec le mot de passe que vous avez défini auparavant (probablement Framboise si vous avez copié notre configuration hostapd), le texte de débogage apparaîtra sur la console Pi mais vous ne pourrez pas vous connecter via la connexion Ethernet pour le moment. Annuler le test en tapant Control-C dans la console Pi pour revenir à la ligne de commande Pi.
Étape 10: Terminer!
OK, maintenant que nous savons que cela fonctionne, il est temps de le configurer en tant que "démon" - un programme qui démarrera lorsque le Pi démarre. Exécutez les commandes suivantes
sudo service hostapd start
sudo service isc-dhcp-server start
vous pouvez toujours vérifier l’état du serveur AP hôte et du serveur DHCP avec
statut sudap service hostapd
sudo service statut isc-dhcp-server
Pour démarrer les services du démon. Vérifiez qu'ils démarrent tous les deux avec succès (pas d’échec ou d’erreur), puis exécutez-le pour qu’il s’exécute à chaque démarrage.
sudo update-rc.d hostapd enable
sudo update-rc.d isc-dhcp-server enable
Extra: Retrait du suppliant WPA
En fonction de votre distribution, vous devrez peut-être supprimer WPASupplicant. Faites-le en lançant cette commande:
sudo mv /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service ~ /
puis en redémarrant
Étape 11: Connecter et tester
Maintenant que le logiciel est installé sur un Pi, il est temps de s'y connecter et de tester la connexion. J'utilise un ordinateur Windows mais tout type devrait bien fonctionner. Sur le Pi, lancez la commande
tail -f / var / log / syslog
pour regarder les données du journal du système, pratique pour vérifier et déboguer ce qui se passe! Connectez-vous avec un autre ordinateur au point d'accès créé à l'étape précédente.
Entrez la clé WPA que vous avez spécifiée à l'étape précédente.
Dans le syslog Pi, vous devriez voir des choses comme ça! Il indique qu'un client s'est connecté, à quelle heure et quelle adresse IP lui a été donnée.
Si vous ne pouvez pas vous connecter du tout, quelque chose ne va pas avec hostapd
Sur votre ordinateur, ouvrez un Terminal (mac / linux) ou Démarrer-> Exécuter-> cmd d'ouvrir une ligne de commande. D'abord vérifier quoi ifconfig (mac / linux) ou ipconfig (Windows) dit. Vous devriez avoir une adresse IP dans la plage 192.168.42.10-50.
Essayez d’envoyer une requête ping au Pi. Son adresse est 192.168.42.1. Sous Windows, elle sonnera 3 fois et s’arrêtera. Sur mac / linux, appuyez sur Control-C pour quitter après quelques pings. Vous devriez obtenir des pings réussis, comme indiqué ci-dessous. Si cela ne fonctionne pas, quelque chose ne va pas avec hostapd ou dhcpd (plus probable).
Ensuite, essayez de cingler 8.8.8.8, si cela ne fonctionne pas mais que le précédent fonctionne, il y a un problème avec dhcpd ou la configuration NAT (plus probable).
Pour finir, nous allons vérifier que le DNS fonctionne, essayez de faire un ping sur www.mit.edu. Si cela ne fonctionne pas, quelque chose ne va pas avec dhcpd. Si tout va bien jusqu'à présent, essayez de naviguer sur Internet, d'envoyer des emails, etc. Vous utilisez maintenant votre Pi comme routeur Wifi!
Plus!
Il est possible de configurer votre routeur pour un accès ouvert ou WEP, mais nous ne le couvrons pas ici (et ce n’est pas aussi sécurisé!). Vous voudrez peut-être chercher des tutoriels tels que celui-ci qui couvre les options hostapd.
Étape 12: Compiler Hostapd
Vous avez peut-être remarqué qu'une étape consiste à télécharger une copie de hostapd à partir de adafruit.com et à l'échanger avec la vôtre. Au cas où vous voudriez compiler le vôtre, voici comment (c'est facile mais pas nécessaire si vous êtes prêt à utiliser notre binaire)
Accédez à la page de téléchargements de Realtek http: //152.104.125.41/downloads/downloadsView.asp …
Télécharger linux 3.4.4_4749
Copiez le zip sur la carte SD en utilisant n’importe quel ordinateur qui le placera dans le répertoire / boot du Pi (ou récupérez ce fichier sur votre Pi).
Démarrer le Pi depuis la carte SD
sudo mv /boot/RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip.
Décompressez RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip
mv RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105 / rtl
cd rtl
cd wpa_supplicant_hostapd
Décompressez wpa_supplicant_hostapd-0.8_rtw_20120803.zip
cd wpa_supplicant_hostapd-0.8 /
cd hostapd
faire
* avoir un sandwich * quand c'est fait, le binaire hostapd est dans le répertoire
Étape 13: REMARQUE: Force Server n'est pas encore disponible.
Le script Forcer Server et l'application sont actuellement indisponibles.
Il devrait être publié bientôt:)
Étape 14: Téléchargez et configurez le serveur Force
Télécharger
C'est maintenant l'étape où vous pouvez télécharger Force Server pour qu'il s'exécute sur votre Raspberry Pi.
Pour ce faire, lancez simplement ce qui suit:
cd ~
Créer une copie du modèle dans lequel travailler
Une fois que git a fini de cloner le référentiel ForceProject Python, exécutez les commandes suivantes:
cd Python
cp template.py myScript.py
Vous venez de créer un nouveau fichier nommé myScript.py à partir du fichier template.py. A partir de là, vous devriez éditer myScript.py pour vos propres besoins. Le fichier template.py ne doit pas être modifié car il servira de modèle avec toutes les fonctions de délégation intégrées et le code standard déjà présents.
Démarrez votre script Force Server au démarrage
Exécutez le code suivant, en supposant que les noms de fichier, etc. sont les mêmes que ci-dessus:
sudo crontab -e
en bas, ajoutez la ligne suivante:
sudo python /usr/pi/Python/myScript.py &
Maintenant, appuyez sur Contrôle-O, Control-X, pour sauvegarder et fermer le fichier crontab.
Étape 15: Configuration de la télécommande Force
Maintenant que vous avez configuré le serveur Force, vous allez vouloir configurer la télécommande.
Téléchargez l'application Force de l'AppStore ici.
Une fois l'application téléchargée, lancez l'application et appuyez sur "Ajouter un contrôleur.." pour créer un nouveau contrôleur. Vous pouvez nommer le contrôleur comme vous le souhaitez et une description est facultative. Pour l'adresse IP, tapez 192.168.42.1 et pour le type de port dans 5555 (il s’agit du port par défaut). Vous pouvez modifier les autres paramètres à votre guise. Une fois que vous avez terminé, appuyez simplement sur Enregistrer dans le coin supérieur droit de l'écran, puis appuyez sur le contrôleur que vous venez de créer pour commencer à contrôler votre projet.
L'application dispose d'une documentation intégrée sur les structures de données de ce que le serveur recevra dans votre script. Vous pouvez y accéder via les paramètres d'une mosaïque, en enregistrant longuement une mosaïque dans le plateau de coupe ou dans la section "Documentation en mosaïque" de l'application.