Table des matières:

Smartbike partageable : 12 étapes (avec photos)
Smartbike partageable : 12 étapes (avec photos)

Vidéo: Smartbike partageable : 12 étapes (avec photos)

Vidéo: Smartbike partageable : 12 étapes (avec photos)
Vidéo: How To Swap The Free Hub Body On Your Wahoo KICKR Smart Trainer For A SRAM 12-Speed Cassette 2024, Juillet
Anonim
Smartbike partageable
Smartbike partageable
Smartbike partageable
Smartbike partageable

Chaque fois que j'utilise mon vélo, j'ai tendance à oublier d'allumer mes lumières quand il fait noir. De plus, sur mon vélo, je n'ai aucun moyen de savoir à quelle vitesse je vais.

J'ai donc décidé de créer un vélo intelligent partageable qui garde une trace de:

  • La vitesse
  • Emplacement
  • Depuis combien de temps utilisez-vous le vélo

Il allume ou éteint également automatiquement les lumières. J'ai utilisé un scanner RFID pour que quelqu'un d'autre puisse utiliser le vélo sans modifier mes données.

Lien vers mon github.

Fournitures

  • Raspberry Pi 3 (32, 49 €)
  • Carte SD (pour RPi) (13, 99 €)
  • GPS NEO 6M (pour la vitesse et la localisation) (15, 99 €)
  • Anker PowerCore 10400mAh (29, 99 €)
  • RFID RC522 (5, 49 €)
  • Écran LCD 16x2 (9, 99 €)
  • Carte Elegoo Uno R3 (9, 34 €)
  • LDR (1,50 €)
  • MCP3008 (ADC) (5, 98 €)
  • Une lumière recyclée
  • Bois pour le logement (~15, 00 €)
  • Câbles (~ 6, 00 €)

Prix total: 145,76 €

Étape 1: faire le circuit

Faire le circuit
Faire le circuit
Faire le circuit
Faire le circuit

Vous devrez d'abord tout assembler. J'ai inclus un schéma fritzing.

Remarque: certains composants comme le scanner RFID doivent être soudés.

Étape 2: Configurer Python

Configurer Python
Configurer Python

Pour ce projet, j'utiliserai python 3 et exécuterai le code avec un serveur python. Je vais lier mon github avec mon code.

Vous devez d'abord établir une connexion avec votre Raspberry Pi via Paramètres> Build, Exection, Deployment> Deployment. Ensuite, vous devez créer un interprète avec tous les packages requis. Sur mon Raspberry Pi, j'utilise python 3.5.

Lorsque vous avez créé l'interprète, vous pouvez créer un nouveau projet et sélectionner l'interprète que vous venez de créer pour le projet. Ensuite, vous devrez choisir où enregistrer les fichiers sur votre PC et RPi.

Étape 3: Lire les données

Lire les données
Lire les données

Une fois que vous avez fait le circuit et que tous les composants fonctionnent, vous devez lire les données des capteurs. Mon projet a été réalisé à l'aide de Python 3. En python, j'ai lu la plupart des données des capteurs à l'aide de classes.

  • Le scanner RFID est utilisé avec l'arduino (la plupart des informations sur la façon de l'utiliser ici). Je lis les données du scanner avec l'arduino et les envoie au RPi avec Serial USB.
  • Le module GPS utilise également la communication série. Les données que le GPS envoie au RPi ne sont pas si bien formatées que j'ai utilisé une bibliothèque pour analyser les données et les rendre beaucoup plus faciles à utiliser. (Quelques informations supplémentaires sur les données GPS).
  • Les valeurs analogiques du LDR sont converties à l'aide du mcp3008 (un adc), puis je transforme la valeur en pourcentage.

Remarque: si vous souhaitez utiliser des « boucles while » en python pour obtenir constamment des données lors de l'exécution d'un serveur python. Vous aurez besoin d'utiliser le threading (plus d'informations sur le threading). Le filetage est facile à utiliser.

Étape 4: La base de données (mySQL)

La base de données (mySQL)
La base de données (mySQL)

Maintenant que vous avez vos données des capteurs, vous avez besoin d'un endroit pour stocker les données. Nous allons stocker les données dans une base de données relationnelle dans mySQL.

J'exécute la base de données sur mon RPi pour que cela fonctionne, j'ai besoin d'installer mariaDB sur mon RPi. Une fois que vous avez installé mariaDB et l'avez configuré, vous pouvez utiliser l'atelier mySQL sur votre PC pour vous connecter à votre base de données sur le RPi.

Vous devrez créer l'ERD sur le PC; développer l'ERD et exporter la base de données. Ensuite, vous pouvez importer le dump (n'oubliez pas de créer un schéma) sur le RPi via mySQL workbench.

Remarque: Le tableau « Bike_has_User » n'est pas requis et ne sera utilisé que si vous prévoyez d'utiliser plusieurs vélos. Vous pouvez supprimer la table 'Bike_has_User' et lier la table User avec 'Datahistory'.

Étape 5: Liez votre Python à la base de données

Liez votre Python avec la base de données
Liez votre Python avec la base de données

Maintenant que votre base de données est installée, vous pouvez lier votre python à la base de données. Cliquez sur base de données (à droite de l'écran) et ajoutez une nouvelle source de données.

La base de données et le script python s'exécutent sur le RPi, utilisez donc l'IP localhost. Utilisez l'utilisateur que vous avez précédemment créé lors de la configuration de mariaDB.

Étape 6: envoyer des données à la base de données

Envoyer des données à la base de données
Envoyer des données à la base de données

Lorsque vous avez tout configuré, vous pouvez commencer à envoyer des données à la base de données. J'ai utilisé une classe helpers. Database en python pour cela (voir mon github).

La photo montre un exemple de code.

Étape 7: utiliser les données

Utiliser les données
Utiliser les données

Avec la classe helpers. Database, vous pouvez insérer des données dans la base de données ou obtenir des données de la base de données.

Maintenant que tout fonctionne, vous pouvez utiliser les données de la base de données pour les afficher sur un site Web ou où vous le souhaitez.

Étape 8: Le boîtier: Bas

Le boîtier: bas
Le boîtier: bas

A propos du logement

Enfin, le boîtier de ce projet est en bois (310x130x110 mm). La plupart des composants sont vissés au bois, à l'exception de la banque d'alimentation et de la planche à pain.

Vous pouvez réduire la taille du boîtier si vous soudez les composants. Je n'ai pas inclus de moyen de connecter en toute sécurité le boîtier au vélo, mais il existe de nombreuses options.

Faire le logement

Vous devrez commencer par faire la partie inférieure du boîtier. Scier un morceau de bois (130x310 mm). Fixez ensuite le RPi avec une vis et collez la planche à pain sur la partie inférieure.

Remarque: Vous pouvez réaliser une pièce identique pour le haut du boîtier

Étape 9: Le boîtier: petits côtés

Le boîtier: petits côtés
Le boîtier: petits côtés

Lorsque vous avez terminé la partie inférieure. Vous pouvez commencer à scier les parties latérales. Commencez par faire les petits côtés.

Vous devrez d'abord attacher les petits côtés. J'ai utilisé un morceau de bois supplémentaire pour relier toutes les pièces ensemble, cette pièce supplémentaire facilite les choses.

Étape 10: Le boîtier: grands côtés

Le boîtier: grands côtés
Le boîtier: grands côtés

Maintenant, vous devrez faire les plus grands côtés. Une fois de plus, sciez les côtés et attachez-les à la partie inférieure à l'aide du morceau de bois supplémentaire.

Étape 11: Ajout d'un trou pour l'écran LCD et LDR

Ajout d'un trou pour l'écran LCD et LDR
Ajout d'un trou pour l'écran LCD et LDR

Vous devrez également faire un trou pour l'écran LCD afin que vous puissiez voir l'adresse IP et afficher si un utilisateur numérise ou non.

Utilisez les mesures de l'écran LCD pour décider de la taille du trou.

Après avoir inséré l'écran LCD, vous devez vous assurer que le LDR est à l'extérieur du boîtier. J'ai utilisé un petit trou pour que le LDR puisse voir la lumière du jour.

Étape 12: Fixez le scanner Arduino et RFID sur le côté

Fixez le scanner Arduino et RFID sur le côté
Fixez le scanner Arduino et RFID sur le côté

Une fois le boîtier terminé, vous devez toujours attacher le scanner arduino et RFID. Vous pouvez les attacher partout où vous avez de la place. Mais je recommande de fixer le scanner RFID sous l'écran LCD afin que l'utilisateur puisse voir s'il a scanné à l'intérieur ou à l'extérieur.

Conseillé: