Raspberry Pi Force Server WAP: 15 étapes

Raspberry Pi Force Server WAP: 15 étapes

Table des matières:

Anonim

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:

  1. Allumez votre Raspberry Pi
  2. Se connecter à son réseau
  3. 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:

  1. Un Raspberry Pi
  2. Une connexion Internet Ethernet pour votre Raspberry Pi
  3. Adaptateur Wi-Fi prenant en charge le mode AP (les adaptateurs Adafruit Wi-Fi fonctionnent)
  4. (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)
    1. Lecteur de carte SD si vous devez installer Raspbian
  5. 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

sudo apt-get install hébergé

É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

redémarrage sudo

É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 ~

git clone

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.