Table des matières:

RPi IoT Smart Light utilisant Firebase : 4 étapes (avec photos)
RPi IoT Smart Light utilisant Firebase : 4 étapes (avec photos)

Vidéo: RPi IoT Smart Light utilisant Firebase : 4 étapes (avec photos)

Vidéo: RPi IoT Smart Light utilisant Firebase : 4 étapes (avec photos)
Vidéo: IoT using Raspberry Pi and firebase and android 2024, Juillet
Anonim
RPi IoT Smart Light utilisant Firebase
RPi IoT Smart Light utilisant Firebase
RPi IoT Smart Light utilisant Firebase
RPi IoT Smart Light utilisant Firebase
RPi IoT Smart Light utilisant Firebase
RPi IoT Smart Light utilisant Firebase
RPi IoT Smart Light utilisant Firebase
RPi IoT Smart Light utilisant Firebase

Ce guide vous montre comment créer et configurer une application pour contrôler le Raspberry Pi via Firebase (une base de données en ligne). Et puis imprimer en 3D un boîtier pour le Pi Zero W, un Powerboost 1000C, une batterie et un Blinkt!.

Pour pouvoir suivre plus facilement, je vous recommande de vous familiariser avec Xcode et Raspberry Pi.

Et si vous aimez ce que vous voyez, suivez-moi sur Instagram et Twitter (@Anders644PI) pour suivre ce que je fais.

Tu auras besoin de:

  • Un Raspberry Pi Zero W avec adaptateurs et en-têtes GPIO

    (ou le Pi Zero ordinaire avec un dongle WiFi)

  • Un PowerBoost 1000C
  • Une batterie lithium-ion - 3.7v 2000mAh
  • Un clin d'oeil ! (ou n'importe quel pHAT/HAT, qui: n'utilise pas la broche 5 physique et les HAT doivent être à plat sur le fond.)
  • Une carte Micro SD de 8 Go ou plus, avec Raspbian Stretch (avec ordinateur de bureau) dessus
  • Un clavier et une souris (mais vous pouvez également vous connecter via ssh, si vous le souhaitez maintenant)
  • Une connexion à un moniteur ou un téléviseur (ou ssh !)
  • Vis à rebut
  • Petits fils
  • Un petit interrupteur et un petit bouton
  • Une imprimante 3D et une bobine de filament PLA de n'importe quelle couleur, et une bobine de PLA transparent (ou vous pouvez utiliser un service 3D comme 3D Hubs pour l'imprimer pour vous)

Étape 1: Firebase et Xcode

Firebase et Xcode
Firebase et Xcode
Firebase et Xcode
Firebase et Xcode
Firebase et Xcode
Firebase et Xcode

Nous allons d'abord configurer Firebase avec l'application, afin que nous puissions communiquer entre l'application et le Pi.

Si vous êtes confus, vous pouvez regarder cette vidéo.

1. Ouvrez Xcode et créez un nouveau projet Xcode. Choisissez Single View App et appelez-le RPiAppControl, et assurez-vous que la langue est Swift. Appuyez sur Suivant et enregistrez-le.

2. Copiez votre Identifiant de Bundle, car nous en aurons besoin plus tard.

3. Dans Firebase, connectez-vous avec votre compte Google et cliquez sur Accéder à la console.

4. Créez un nouveau projet et appelez-le RPiAppControl.

5. Cliquez sur Ajouter Firebase à votre application IOS. Collez votre identifiant de pack et appuyez sur Enregistrer l'application.

6. Téléchargez le GoogleService-Info.plist et faites-le glisser dans votre projet Xcode.

7. De retour sur Firebase, appuyez sur Continuer. Ouvrez ensuite une fenêtre de terminal et accédez à l'emplacement de votre projet Xcode.

8. Exécutez cette commande:

initialisation du pod

9. Ouvrez le fichier Podfile et sous use_frameworks !, ajoutez cette ligne:

pod 'Firebase/Core'

10. De retour dans le terminal tapez: pod install, et fermez Xcode.

11. Dans le Finder, accédez à votre projet Xcode et ouvrez le fichier.xcworkspace nouvellement créé.

12. Ici, allez dans AppDelegate.swift, et sous import UIKit, ajoutez cette ligne:

importer Firebase

Et dans la fonction application, ajoutez cette ligne:

FIRApp.configure().

13. De retour dans Firebase, cliquez sur Continuer, puis sur Terminer.

14. Allez dans Base de données, puis Règles, et définissez ".read" et ".write" sur true. Appuyez sur PUBLIER.

15. De retour à Xcode, ouvrez le fichier Podfile, et sous la première ligne que nous avons définie, ajoutez ceci:

pod 'Firebase/Base de données'

16. De retour dans le terminal, exécutez à nouveau l'installation du pod.

Étape 2: Terminer Xcode

Finition Xcode
Finition Xcode
Finition Xcode
Finition Xcode
Finition Xcode
Finition Xcode

Nous allons maintenant terminer le code et la mise en page dans Xcode.

Ceci utilise Xcode 9 et Swift 4

Code pour le ViewController1. En haut du ViewController et sous l'UIKit d'importation, ajoutez ceci:

importer Firebase

importer FirebaseDatabase

2. Au bas du ViewController et sous la fonction didReceiveMemoryWarning, copiez-collez ces fonctions pour chaque bouton:

func num1(état: chaîne){

let ref = FIRDatabase.database().reference() let post: [String: Any] = ["state": state] ref.child("num1").setValue(post) }N'oubliez pas de changer le (numéro

3. Dans la fonction viewDidLoad, sous le super.viewDidLoad(), insérez cette ligne pour chaque bouton (Pour plusieurs boutons, changez simplement le (numéro). Voir image…):

num1(état: "OFF")

Disposition du Main.storyboard et des boutons

1. Allez dans le storyboard principal et mettez quelques boutons. Vous pouvez les mettre en page comme je l'ai fait ou les personnaliser à votre guise.

2. Connectez les boutons avec le ViewController. Chaque bouton doit être connecté deux fois: l'un en tant qu'action et UIButton appelé num(number)Button, et l'autre en tant que prise par défaut et appelez-le num(number)Color. Voir l'image…

3. Puis pour tous les boutons, collez cette ligne à chacune des fonctions:

if self.num1Color.backgroundColor == UIColor.lightGray { // Définit la couleur d'arrière-plan sur lightGray

num1(state: "ON") // Envoie l'état: "ON" à firebase self.num1Color.backgroundColor = UIColor(red:0.96, green:0.41, blue:0.26, alpha:1.0) // Définit la couleur d'arrière-plan sur reddish } else { num1(state: "OFF") // Envoie l'état: "OFF" à firebase self.num1Color.backgroundColor = UIColor.lightGray // Définit la couleur d'arrière-plan sur lightGray }

Vous devriez maintenant pouvoir le tester en exécutant l'application et lorsque vous appuyez sur les boutons, vous devriez le voir changer d'état dans la base de données en temps réel de Firebase.

Touches finales (facultatif)

1. Téléchargez les images ci-dessous et insérez le LaunchScreen-image-j.webp

2. Accédez à Assets.xcassets, puis à AppIcon. Ici, placez dans la taille AppIcon correspondante.

Étape 3: configuration du Raspberry Pi

Configuration du Raspberry Pi
Configuration du Raspberry Pi

Nous devons maintenant configurer le Pi avec Firebase, afin que l'application puisse communiquer, lancer Firebase, sur le Pi.

Je n'ai pas écrit le code, mais vous pouvez trouver le code original ici.

1. Dans le terminal, exécutez les mises à jour habituelles:

sudo apt-get update && sudo apt-get dist-upgrade

2. Ensuite, nous importerons pyrebase (Firebase):

sudo pip installer pyrebase

sudo pip3 installer pyrebase sudo pip3 installer --mettre à niveau google-auth-oauthlib

3. Téléchargez maintenant la bibliothèque Blinkt:

boucle https://get.pimoroni.com/blinkt | frapper

4. Cloner mon dépôt GitHub:

git clone https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl

5. Modifiez AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Remplissez votre Firebase ApiKey et projectId. Vous pouvez les trouver en accédant à votre projet Firebase et en cliquant sur Ajouter une autre application, puis sur Ajouter Firebase à votre application Web.

7. Personnalisez les fonctions et enregistrez vos modifications en appuyant sur ctrl-o (entrée) et fermez avec ctrl-x.

8. Maintenant, lancez-le avec:

sudo python3 RPiAppControl_Template.py

9. Ensuite, si vous utilisez un Blinkt, vous pouvez essayer l'exemple, lorsque vous avez renseigné votre Firebase ApiKey et projectId:

exemples de cd

nano RPiAppControl_blinkt_demo.py

Lancez-le maintenant:

sudo python3 RPiAppControl_blinkt_demo.pyGardez à l'esprit qu'après avoir exécuté le script, il faut environ une minute pour se préparer (au moins sur le Pi Zero). Et le script doit être exécuté en python 3

10. BONUS: Si vous voulez que le script s'exécute au démarrage, vous pouvez découvrir comment, ici.

Bouton d'arrêt/d'alimentation

Il est facultatif d'installer un bouton d'alimentation, mais je le recommande. Suivez cette vidéo pour la configurer.

Gardez à l'esprit que cela utilise la broche physique 5 sur le Pi, donc certains HAT ne fonctionneront pas.

Étape 4: Enceinte

Conseillé: