#bluetoothmodule
Explore tagged Tumblr posts
proshahnawaz · 3 months ago
Text
Tumblr media
Home theatre Bluetooth video link👇🏻
https://youtu.be/Ex3oZbwvwbg
Old home theatre Mein Bluetooth lagana sikhen | Bluetooth installation | bluetooth module
#khempurrepair
#oldhometheatremeinbluetoothlaganasikhen
#Bluetoothinstallation
#bluetoothmodule
Doston khempur repair channel Mein aapka swagat Hai Aaj mere pass old home theater aaya hai aur is home theater mein problem Koi Nahin Hai yah ekadam okay chal raha hai sound a rahi hai FM chal rahi hai USB se bhi chal raha hai aur oxe connection bhi ismein Sahi kam kar rahe hain ismein problem yah hai ki ismein Bluetooth device Nahin Hai Jiski vajah se yah Bluetooth se nahin Chalta Hai To Aaj Ham is old home theater Mein Bluetooth install Karenge Kaise Bluetooth Ko Lagate Hain Kaise connection karte hain kaun sa Bluetooth device Lagaya Jata Hai yah sab aapko is video mein janne ko Milega isliye video pura Dekhen aur video ko like bhi Karen aur share bhi Karen thank u
0 notes
draegerit · 1 year ago
Text
Arduino Joystick Shield Basics: Programmierung leicht gemacht für Anfänger
Tumblr media
In diesem Beitrag möchte ich dir das Arduino Joystick Shield vorstellen und zeigen, wie dieses in der Arduino IDE programmiert wird. Du kannst mit diesem einfachen Shield einen Roboterarm oder auch ein kleines Fahrzeug über Bluetooth steuern. https://youtu.be/n9Yng6M20iE Das Joystick Shield verfügt über zwei analoge Joysticks, eine separate Schnittstelle für ein Bluetoothmodul sowie eine Stiftleiste für freie digitale Pins vom Mikrocontroller. Der aktive Betrieb des Moduls wird dir über eine 5 mm LED angezeigt.
Tumblr media
Joystick Shield für den Arduino UNO R3
Tumblr media
Schnittstellen am Arduino Joystick Shield
Bezug des Arduino Joystick Shield
Das hier vorgestellte Shield bekommst du besonders günstig bei aliexpress.com. Auf ebay.de bekommst du andere Shields welche über einen Joystick und ein Tastenkreuz verfügen und ähnlich funktionieren.
Aufbau des Joystick Shields
Das Joystick Shield verfügt wie bereits erwähnt über: - zwei analoge Joysticks, - eine rote, 5 mm LED, - eine separate Schnittstelle für Bluetoothmodule vom Typ HC-05 & HC-06, sowie - eine Stiftleiste für Servomotoren
Tumblr media
Buchsenleiste für Bluetoothmodule
Tumblr media
Stiftleiste für den Anschluss von Servomotoren Das Shield lässt sich auf die bestehenden Buchsenleisten der Arduinos stecken (ausgenommen natürlich dem Nano V3 und den Minis). Beim Arduino Mega 2560 R3 musst du auf die Buchsenbeschriftungen achten, denn dieser hat deutlich mehr Pins zur Verfügung.
Tumblr media
Arduino UNO R3 mit Joystick Shield
Tumblr media
Arduino Mega 2560 R3 mit Joystick Shield Pinout des Shields Das Joystick Shield ist wie in der Grafik zu sehen aufgebaut.
Tumblr media
Aufbau des Joystick Shields für den Arduino KomponentePin am ArduinoLEDdigitaler Pin D3Joystick 1 (links)Xanalog A0Yanalog A1Tasterdigitaler Pin D2Joystick 2 (rechts)Xanalog A3Yanalog A2Tasterdigitaler Pin D4 Auf meinem Shield ist der Taster vom linken Joystick nicht mit dem Shield verbunden.
Anschluss von Servomotoren an das Joystick Shield
Das Shield hat, wie du in der Grafik siehst, 6 paar Stiftenleisten für Servomotoren. An diese kannst du theoretisch den Servomotor direkt anschließen, denn diese sind korrekt dafür ausgelegt.
Tumblr media
Joystick Shield mit Servomotoren Für die kleinen Servomotoren ist dieses auch voll okay. Jedoch haben die großen Servomotoren deutlich mehr Kraft und ziehen dadurch auch mehr Leistung, das kann dieses Shield nicht leisten und dein Mikrocontroller würde einen Schaden nehmen! Für den großen Servomotor vom Typ MG996R benötigst du eine zusätzliche Stromversorgung mit min. 2A bei 5V. Also bevor du deinen Servomotor an dieses Shield anschließt, prüfe zunächst in den technischen Daten des Servomotors wie viel Last / Strom dieser zieht.
Programmieren in der Arduino IDE
Einen Mikrocontroller der Arduino-Familie kannst du am einfachsten in der Arduino IDE programmieren. Diese bringt die meisten Features gleich mit und wenn dir doch eins fehlt, kannst du dieses über die internen Board- /Bibliotheksverwalter nachinstallieren. Bevor wir jedoch mit der Programmierung beginnen und das Shield auf den Mikrocontroller stecken, spielen wir ein leeres Programm auf den Mikrocontroller auf. Mit diesem leeren Programm stellen wir sicher, dass keine Pins auf HIGH gesetzt werden, welche ggf. das Modul beschädigen kann. Auslesen der Werte der analogen Joysticks Bevor wir etwas steuern können, müssen wir erst einmal die Joysticks auslesen und die Werte speichern. Das nachfolgende kleine Programm dient uns auch später als Grundgerüst. //Koordinaten des linken Joysticks #define joystick1X_Pin A0 //X #define joystick1Y_Pin A1 //Y #define joystick1Button_Pin 4 //Taster //Koordinaten des rechten Joysticks #define joystick2X_Pin A3 //X #define joystick2Y_Pin A2 //Y #define joystick2Button_Pin 2 //Taster //rote, 5mm LED am digitalen Pin D3 //angeschlossen #define led 3 //Felder zum speichern der letzten Werte //linker Joystick int lastJ1X = -1; //X int lastJ1Y = -1; //Y //rechter Joystick int lastJ2X = -1; //X int lastJ2Y = -1; //Y void setup() { //begin der seriellen Kommunikation mit 9600 baud Serial.begin(9600); //Pins der Taster an den Joysticks //als Ausgang definieren, zusätzlich //werden diese Pins über den internen 10 kOhm //Widerstand umgeleitet. pinMode(joystick1Button_Pin, INPUT_PULLUP); pinMode(joystick2Button_Pin, INPUT_PULLUP); //Pin der LED als Ausgang definieren pinMode(led, OUTPUT); } //Funktion um die Werte eines Joysticks auszugeben. void printJoyStickValues(String joystick, int valueX, int valueY) { Serial.print("Joystick :" + joystick); //lesen der X-Position und umwandeln in ein String Serial.print(" X: " + String(valueX, DEC)); Serial.print(", "); //lesen der Y-Position und umwandeln in ein String Serial.println("Y: " + String(valueY, DEC)); } void loop() { //lesen der aktuellen Position des linken Joysticks int joyStick1X = analogRead(joystick1X_Pin); int joyStick1Y = analogRead(joystick1Y_Pin); //Wenn die gelesenen Werte sich von den zuvor gespeicherten //Werten unterscheiden, dann... if (joyStick1X != lastJ1X || joyStick1Y != lastJ1Y) { lastJ1X = joyStick1X; lastJ1Y = joyStick1Y; printJoyStickValues("links", joyStick1X, joyStick1Y); } //lesen der aktuellen Position des rechten Joysticks int joyStick2X = analogRead(joystick2X_Pin); int joyStick2Y = analogRead(joystick2Y_Pin); //Wenn die gelesenen Werte sich von den zuvor gespeicherten //Werten unterscheiden, dann... if (joyStick2X != lastJ2X || joyStick2Y != lastJ2Y) { lastJ2X = joyStick2X; lastJ2Y = joyStick2Y; printJoyStickValues("rechts", joyStick2X, joyStick2Y); } //Wenn der Taster am linken Joystick gedrückt wird, dann... if (digitalRead(joystick1Button_Pin) == LOW) { Serial.println("Taster Joystick links gedrückt!"); } //Wenn der Taster am rechten Joystick gedrückt wird, dann... if (digitalRead(joystick2Button_Pin) == LOW) { Serial.println("Taster Joystick rechts gedrückt!"); } //kleine Pause von 450 ms. //Diese wird lediglich benötigt um die Ausgaben im seriellen Monitor //der Arduino IDE zu lesen. Im Live betrieb sollte dieser entfernt werden! delay(450); } Der Code bewirkt, dass die Daten auf der seriellen Schnittstelle ausgegeben werden, jedoch, nur wenn diese sich ändern.
Steuern eines Servomotors mit dem Joystick Shield
Über die bereits gezeigten Stiftleisten kannst du wie erwähnt kleine, einfache Servomotoren anschließen und mit recht wenig Code steuern.
Tumblr media
Arduino Joystick Shield mit Servomotor Typ SG90 Dabei musst du beachten, dass der Joystick sich in der Mittelposition befindet und somit einen ungefähren Wert von 511 liefert. //Einbinden der Bibliothek //zum steuern eines Servomotors. #include //Der Servomotor ist am //digitalen Pin D6 angeschlossen. #define servoPin 6 //Die X Koordinate des linken Joysticks //ist am analogen Pin A0 angeschlossen. #define joystickXPin A0 //initialisieren eines Servoobjektes Servo servo; void setup() { //verbinden des Pins vom Servo zum Objekt servo.attach(servoPin); } void loop() { //auslesen der aktuellen Position der X Koordinate //des Joysticks int joystickXPos = analogRead(joystickXPin); //anlegen einer Variable für den berechneten Wert //des Servos int servoValue = -1; //Der Joystick befindet sich in der Mittelposition, //das bedeutet das wir ca. 511 als analogen Wert empfangen. if (joystickXPos > 511) { //Den Wert der Variable joystickXPos mit dem Gültigkeitsbereich // 511 bis 1023 auf die Winkel 90 bis 0 mappen. servoValue = map(joystickXPos, 511, 1023, 90, 0); } else { //Den Wert der Variable joystickXPos mit dem Gültigkeitsbereich // 511 bis 0 auf die Winkel 90 bis 180 mappen. servoValue = map(joystickXPos, 511, 0, 90, 180); } //Zuweisen der neuen Position am Servoobjekt servo.write(servoValue); } Damit du den Code nicht abtippen oder kopieren musst, kannst du dir diesen hier als ZIP-Datei herunterladen. Code - steuern eines Servomotors vom Typ SG90 am Arduino Joystick ShieldHerunterladen Im nachfolgenden kleinen Video siehst du, dass wenn der linke Joystick nach links bewegt wird, sich das Ruderhorn des Servos ebenso in diese Richtung bewegt und andersherum. Wenn wir nun diesen Code etwas erweitern, dann können wir einen kleinen Pan-Tilt Bausatz steuern. Dieser Bausatz verfügt über zwei Servomotoren und eine kleine Adapterplatte, wo wir eine Kamera montieren können. Hier im Bild zusehen der Pan-Tilt Bausatz mit der M5Stack Kamera welche ich dir bereits im Beitrag Kleine Kamera, große Leistung: Vorstellung der ESP32 S3 CAM von M5Stack vorgestellt habe.
Tumblr media
Dieser Bausatz hat wie erwähnt zwei Servomotoren, welche wir ebenso an das Joystick Shield anschließen können und mit den beiden Joysticks lässt dieses dich dann super einfach in fast alle Richtungen bewegen. Code - steuern eines Pan-Tilt Bausatzes mit M5Stack CAM mit dem Arduino Joystick ShieldHerunterladen
Fazit und Ausblick
Ich habe dir nun den Aufbau des Shields gezeigt sowie ein erstes kleines Programm, mit welchen die X/Y Position der Joysticks ausgelesen werden können. Im nächsten Beitrag werde ich dir dann zeigen, wie du mit diesem Shield einen 3DOF Roboterarm steuern kannst.
Tumblr media
3DOF Roboterarm / Claw Ein weiterer Beitrag wird darum gehen, wie du mit diesem Shield ein kleines Fahrzeug mit dem Calliope Mini 3 steuern kannst.
Tumblr media
Tinysuperlab MotionKit2 für den Calliope Mini 3 Bleib also dran und erfahre, wie du mit diesem Shield coole Projekte umsetzen kannst. Read the full article
0 notes
Link
0 notes
anne-blm · 6 years ago
Photo
Tumblr media
11.11 Double 11, crazy buy. Are you ready? Anyone require Bluetooth/WI-FI module today? If so,I would supply you some discount. Samples are available. Come on,dear. email: [email protected] skype: anne201180 #bluetoothpcb #bluetoothmodule #bluetooth https://www.instagram.com/p/B4ttJSUJZZH/?igshid=ebymie9w8lac
0 notes
ijtsrd · 6 years ago
Photo
Tumblr media
Motion of curtains using Natural Language Processing
by Minu Mariya Vilson | Menon Bhavana Rajan | Mithu Raveendran | Namitha Gopinath | Nelson Varghese | Mrs. Ann Rija Paul "Motion of curtains using Natural Language Processing"
Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-3 , April 2019, 
URL: https://www.ijtsrd.com/papers/ijtsrd23199.pdf
Paper URL: https://www.ijtsrd.com/engineering/computer-engineering/23199/motion-of-curtains-using-natural-language-processing/minu-mariya-vilson
open access journal of engineering, ugc approved journals for engineering, call for paper engineering
Consider a scenario of a paraplegic person who is on the bed reading a book and wishes to close the door because of the noise outside. The old system would probably comprise of calling someone either the maid, or relative etc. to close the door. This project aims to automate many of the home items by the use of voice. It can be implemented using an embedded system such as a processor capable of processing natural language and a mechanical system to cause motion on the item accordingly. For a user of the system, all the person would need to do is give commands like “Open Door”, “Close Door” etc. and the door would perform motion as per the instruction. To demonstrate the concept, we are automating the closing and opening of curtains purely based on voice instructions. Here, voice is taken as input by a microphone, sent to a processor, and is processed. This project is based on upcoming technologies and has wide scope throughout. Appropriate changes will have to be made depending upon the application and mechanical system used for the implementation but the core concept remains using voice as input to automate items, in particular household items. 
0 notes
electronicstuff96-blog · 7 years ago
Photo
Tumblr media
#LPGGasAlertsystem#SmartDustbin#SmartirrigationSystem#Miniproject#Viva's#Externals#Arduinonano#ArduinoUno#MQ2-sensor#moisturesensor#lcddisplay#gsm#Bluetoothmodule#Ultrasonicsensor#breadboard...@electronicstuff96 (at Vidyalankar Institute Of Technology)
0 notes
ttciotsdk · 5 years ago
Photo
Tumblr media
The IOT World: Bluetooth connects everything 
With the growth of Bluetooth Smart sensors in home applications, mesh networks will become integrated components, enabling smart door locks, lighting controls and home appliances with Bluetooth technology to work together to bring seamless intelligence to consumers。
#bluetoothmodule  #BLE module   #IOT 
1 note · View note
jaycross666 · 6 years ago
Text
Tweeted
What is ENGINEERING ONLINE all about?#engineeringonline #ChannelTrailer #arduino #arduinoproject #networking #MITAppInventor #Proteus #appdevelopment #mobileapp #gsm #bluetoothmodule pic.twitter.com/Hyj55xs1Ka
— Engineering Online (@EngOnline0) December 5, 2019
0 notes
draegerit · 1 year ago
Text
Arduino zu Raspberry Pi: Bluetooth für die Übertragung von Sensorwerten einsetzen
Tumblr media
Im letzten Beitrag Drahtlose Datenübertragung: Python-Skript für Bluetooth-Kommunikation mit Mikrocontroller habe ich dir bereits ein Python-Skript gezeigt, wie man Daten vom Raspberry Pi an einen beliebigen Mikrocontroller senden kann. Hier soll es nun die andere Richtung gehen und die Daten sollen vom Mikrocontroller an einen Raspberry Pi gesendet werden.
Tumblr media
Arduino zu Raspberry Pi: Bluetooth für die Übertragung von Sensorwerten einsetzen Der Mikrocontroller in diesem Fall ist ein Arduino UNO R3 an welchem ein DHT11 Sensor angeschlossen ist. Der DHT11 Sensor liefert die Messdaten zur Temperatur sowie die rel. Luftfeuchtigkeit. Es bietet sich hier an, diese Daten im JSON Format zu senden.
Aufbau der Schaltung - DHT11 Sensor mit HC-06 Bluetoothmodul am Arduino UNO R3
Bauen wir zunächst die kleine Schaltung auf und schließen einen DHT11 Sensor sowie das Bluetooth Modul HC-06 an den Arduino UNO R3 an. Für den Aufbau der Schaltung benötigst du: - einen Arduino UNO R3, - ein USB-Datenkabel, - einen DHT11 Sensor, - ein HC-06 Bluetooth Modul, - diverse Breadboardkabel, - ein 400 Pin Breadboard
Tumblr media
Schaltung - Arduino UNO R3 mit Bluetooth Modul HC-06 und DHT11 Sensor Statt einem Arduino UNO R3 kannst du auch einen Arduino Nano V3 oder Arduino Leonardo, Arduino Mega 2560 R3 verwenden. Den DHT11 Sensor bekommst du als losen Baustein wie du diesen in der Schaltung siehst und auch auf einer kleinen Platine mit nur 3 Kontakten. Bei den Modulen mit nur 3 Kontakten entfällt die Schaltung mit dem 4,7 kOhm Widerstand!
Tumblr media
Varianten des DHT11 Sensors
Aufbau der Programme auf dem Arduino & Raspberry Pi
Im nachfolgenden YouTube-Video erläutere ich dir wie die Programme funktionieren. https://youtu.be/F6f6c3o_tI4
Schreiben des Programmes in der Arduino IDE
Einfaches senden einer festen Zeichenkette via Bluetooth vom Arduino an den Raspberry Pi Als Erstes möchte ich dir gerne zeigen, wie du eine Zeichenkette vom Arduino UNO R3 via Bluetooth an den Raspberry Pi senden kannst. Wie erwähnt arbeitet das Bluetooth Modul HC-06 mit einer einfachen seriellen Schnittstelle und somit ist der Code von dem Arduino selber wieder recht einfach gehalten. //Bibliothek zum erzeugen neuer serieller Schnittstellen //an digitalen Pins. #include //Bluetooth Modul HC-06 an den Pins verbunden //TXD > D11 //RXD > D10 SoftwareSerial BT(11,10); void setup() { //beginn der seriellen Kommunikation mit 9600 baud //dieser Wert muss mit dem auf dem Zielgerät übereinstimmen BT.begin(9600); } void loop() { //Senden von der Zeichenkette "Hallo Welt!" BT.write("Hallo Welt!"); //eine Pause von 2 Sekunden delay(2000); } Wenn wir dieses Programm auf den Arduino übertragen haben, dann können wir zum Raspberry Pi wechseln und dort die Verbindung zum Arduino bzw. Bluetooth Modul HC-06 aufbauen. Zunächst müssen wir die MAC-Adresse des Bluetooth Moduls herausfinden (soweit uns diese bereits nicht bekannt ist). pi@raspberrypi:~/Python/BluetoothReceiveData $ bluetoothctl Agent registered # scan on Discovery started Controller B8:27:EB:AA:D5:1A Discovering: yes Device 7D:31:1B:0A:67:3B 7D-31-1B-0A-67-3B Device DE:28:81:28:4A:5C ID205L Device 20:15:12:15:21:33 RSSI: -46 # info 20:15:12:15:21:33 Device 20:15:12:15:21:33 (public) Name: HC-06 Alias: HC-06 Class: 0x00001f00 Paired: yes Trusted: yes Blocked: no Connected: no LegacyPairing: yes UUID: Serial Port (00001101-0000-1000-8000-00805f9b34fb) RSSI: -46 # exit In meinem Fall hat das Modul die MAC-Adresse 20:15:12:15:21:33. Nun müssen wir zu diesem eine Verbindung aufbauen, das ist mit nur einer kleinen Befehlszeile möglich: sudo rfcomm bind rfcomm0 20:15:12:15:21:33 Von nun an wird in die Datei /dev/rfcomm0 die Daten geschrieben, welche über Bluetooth empfangen wurden. Mit dem Befehl cat können wir uns diese dann fortlaufend anzeigen lassen. pi@raspberrypi:~/Python/BluetoothReceiveData $ cat /dev/rfcomm0 Hallo Welt!Hallo Welt!Hallo Welt! Um die Verbindung zum Bluetooth Modul zu beenden, müssen wir den nachfolgenden Befehl eingeben, jedoch bedenke, dass dann auch alle Daten gelöscht werden, welche empfangen wurden! sudo rfcomm unbind rfcomm0 Damit wir die Daten also weiterhin behalten müssen wir uns diese speichern, hier werde ich dir ein kleines Python-Skript anbieten, welches die Daten von der seriellen Schnittstelle liest und in eine Datei schreibt. In meinem Arduino Programm sende ich die Daten alle 2 Sekunden daher werden auch leere Zeichen empfangen diese filtere ich heraus. Zusätzlich schreibe ich diese Daten in eine Datei, welche als Dateinamen einen Zeitstempel trägt, dieses erleichtert das Ordnen der Daten welche empfangen wurden. import serial import time appendTimestamp = True serialData = None try: while True: with serial.Serial('/dev/rfcomm0', timeout=1, baudrate=9600) as data: print("Verbunden mit ", data.name) print("Zum beenden Strg+C betaetigen!") while True: serialData = data.readline().decode('utf-8').strip() if len(serialData) > 0: if appendTimestamp : serialData = time.strftime(' ') + serialData print(serialData) filename = time.strftime('%d%m%Y') + data.name.replace("/","_") + ".txt" with open(filename, "a") as file: file.write(serialData) file.write("r") except KeyboardInterrupt: exit() except IOError as ioEx: print("Unerwarteter Fehler aufgetreten") print(f"{ioEx=}, {type(ioEx)=}", ) exit() Auf der Konsole starten wir das Skript mit "python testSerial.py" es wird dann eine Verbindung aufgebaut und die Daten fortlaufend ausgegeben und parallel in die Datei geschrieben. python testSerial.py Verbunden mit /dev/rfcomm0 Zum beenden Strg+C betaetigen! Hallo Welt! Hallo Welt! Hallo Welt! Hallo Welt! Hallo Welt! Hallo Welt!
Tumblr media
Empfangene Daten vom Arduino via Bluetooth auf dem Raspberry Pi Übertragen von Sensordaten vom Arduino via Bluetooth an den Raspberry Pi Nachdem wir eine feste Zeichenkette vom Arduino an den Raspberry Pi gesendet haben, wollen wir nun Sensordaten senden. In meinem Fall verwende ich wie eingangs gezeigt den DHT11 Sensor, dieser liefert die Temperatur sowie die relative Luftfeuchtigkeit. Um die Sensordaten des DHT11 Sensors via Bluetooth zu übertragen, bietet es sich an diese im JSON-Format zu übertragen. Was ist ein JSON-Format und warum sollte man dieses verwenden? Das JSON-Format eignet sich besonders für die Datenübertragung von Sensordaten aufgrund seiner Leichtgewichtigkeit, menschenlesbaren Struktur und universellen Unterstützung in verschiedenen Programmiersprachen. Die klare Schlüssel-Wert-Paar-Struktur ermöglicht eine präzise Darstellung von Sensorwerten wie Temperatur und Luftfeuchtigkeit, während die einfache Handhabung in Python und anderen Sprachen die Integration und Verarbeitung der Daten erleichtert. Dies fördert eine effiziente und zuverlässige Kommunikation zwischen Geräten wie dem Arduino UNO R3 und dem Raspberry Pi. Ein Beispiel mit JSON-Daten und Sensorwerte Wie erwähnt ist ein Datensatz im JSON-Format von Menschen einfach lesbar und auch kannst du dieses theoretisch selber schreiben. { "temperatur": "34°C", "rel.Luftfeuchtigkeit": "30%" } Es gibt auch die Möglichkeit Listen in JSON-Daten zu verpacken und so kannst du deine Daten zunächst aufzeichnen und dann in einem Rutsch an den Raspberry Pi versenden. { "liste": } Wie du am Arduino Daten im JSON-Format speicherst, hatte ich dir bereits im veröffentlichten Beitrag JSON-Format zur Datenübertragung zwischen zwei Mikrocontroller gezeigt. Hier möchte ich jedoch einfach nur die beiden Sensordaten in einen String speichern und dann absenden. //Bibliothek zum auslesen des DHT11 Sensors #include //Bibliothek zum erzeugen neuer serieller Schnittstellen //an digitalen Pins. #include //Bluetooth Modul HC-06 an den Pins verbunden //TXD > D11 //RXD > D10 SoftwareSerial BT(11,10); //Initialisieren eines Objektes vom Typ DHTStable DHTStable DHT; //Der Sensor ist am digitalen Pin D5 angeschlossen #define DHT11_PIN 5 void setup() { Serial.begin(9600); //beginn der seriellen Kommunikation mit 9600 baud //dieser Wert muss mit dem auf dem Zielgerät übereinstimmen BT.begin(9600); } void loop() { //Anfordern der Sensorwerte, //zusätzlich gibt diese Funktion einen Status zurück //Wenn dieser Status gleich DHTLIB_OK ist, dann sollen //die Werte ausgelesen und abgesendet werden. int check = DHT.read11(DHT11_PIN); if (check == DHTLIB_OK){ //Auslesen der Temperatur und kürzen auf eine Stelle nach dem Komma String temperatur = String(DHT.getTemperature(), 1); //Auslesen der relativen Luftfeuchtigkeit und kürzen auf eine Stelle nach dem Komma String relLuftfeuchtigkeit = String(DHT.getHumidity(), 1); //Aufbau der JSON Daten String jsonData = "{"temperatur": ""+temperatur+"°C", "rel.Luftfeuchtigkeit": ""+relLuftfeuchtigkeit+"%"}"; //ausgeben der Daten auf der seriellen Schnittstelle des Arduino Serial.println(jsonData); //senden der Daten via Bluetooth BT.write(jsonData.c_str()); //Der DHT11 Sensor liefert alle 1,5 Sekunden einen neuen Messwert, daher ist eine Pause //von 2 Sekunden ratsam. delay(2000); } else { //Im Fehlerfall soll eine Nachricht abgesendet werden. String msg = "Fehler bei der Kommunikation mit dem DHT11 Sensor!"; Serial.println(msg); BT.write(msg.c_str()); } } Wenn wir das kleine Programm auf dem Arduino ausführen, dann wird auf der seriellen Schnittstelle die Daten des DHT11 Sensors im JSON-Format ausgegeben.
Tumblr media
Ausgabe der Daten des DHT11 Sensors im JSON-Format auf der seriellen Schnittstelle Das Python-Skript hat einen kleinen "Schalter" für den Zeitstempel, ich habe diesen deaktiviert so das kein zusätzlicher Zeitstempel gespeichert wird. Dieses entfernen des Zeitstempels erleichtert uns das spätere parsen der Textdatei! pi@raspberrypi:~/Python/BluetoothReceiveData $ python testSerial.py Verbunden mit /dev/rfcomm0 Zum beenden Strg+C betaetigen! {"temperatur": "20.0°C", "rel.Luftfeuchtigkeit": "41.0%"} {"temperatur": "20.0°C", "rel.Luftfeuchtigkeit": "42.0%"} {"temperatur": "19.0°C", "rel.Luftfeuchtigkeit": "42.0%"} {"temperatur": "20.0°C", "rel.Luftfeuchtigkeit": "45.0%"} {"temperatur": "20.0°C", "rel.Luftfeuchtigkeit": "42.0%"} {"temperatur": "20.0°C", "rel.Luftfeuchtigkeit": "43.0%"} {"temperatur": "19.0°C", "rel.Luftfeuchtigkeit": "42.0%"} {"temperatur": "19.0°C", "rel.Luftfeuchtigkeit": "43.0%"}
Aufarbeiten der JSON-Daten via Python-Skript
Die Daten haben wir nun auf dem Raspberry Pi empfangen und in einer Textdatei gespeichert. Und können diese Zeileweise parsen und als CSV-Datei umwandeln. import json import csv # Pfad zur JSON-Datei json_file_path = '29112023_dev_rfcomm0.txt' # Lese JSON-Daten aus der Datei with open(json_file_path, 'r') as json_file: # Lade JSON-Daten json_data_list = # Pfad zur CSV-Datei csv_file_path = 'output.csv' # Oeffne CSV-Datei im Schreibmodus with open(csv_file_path, 'w', newline='') as csvfile: # CSV-Schreibobjekt erstellen csv_writer = csv.writer(csvfile) # Schreibe die Headerzeile header = csv_writer.writerow(header) # Schreibe die Daten for data in json_data_list: row = , data] csv_writer.writerow(row) print(f'Die JSON-Daten aus der Datei {json_file_path} wurden in die CSV-Datei {csv_file_path} umgewandelt.') Im Skript wird der Dateiname angegeben und danach auf der Konsole mit dem Befehl "python convertJsonCSV.py" gestartet. pi@raspberrypi:~/Python/BluetoothReceiveData $ python convertJsonCSV.py Die JSON-Daten aus der Datei 29112023_dev_rfcomm0.txt wurden in die CSV-Datei output.csv umgewandelt. Die CSV-Datei mit den Daten wird parallel zum Skript abgelegt und kann nun in zbsp. Microsoft Excel geladen und visualisiert werden.
Tumblr media
Umgewandelte Daten von JSON in CSV
Fazit & Ausblick zu Bluetoothverbindung mit dem Arduino & Raspberry Pi
Mit diesem Beitrag habe ich dir nun gezeigt wie du Daten vom Arduino an den Raspberry Pi senden kannst. Im nächsten Beitrag möchte ich dir dann zeigen wie du dieses mit dem Raspberry Pi Pico W machen kannst. Dieser kleine Mikrocontroller verfügt über WiFi und seit dem Firmwareupdate auch über Bluetooth. Read the full article
0 notes
autopreisliste · 8 years ago
Text
2010-03_gesamtpreisliste_alpina
Gesamtpreisliste BMW Alpina D3 Biturbo B3 Biturbo B6 B7 Parrot MKI 9200 Freisprech – / Bluetoothmodul passend für BMW 6er E63, E64 alle Modelle
View On WordPress
0 notes
anne-blm · 6 years ago
Photo
Tumblr media
BT5.0 dual mode ,QCC3007 module.It’s provide a fully Bluetooth Classic and Low Energy compliant system for data and audio communication based on Feasycom Bluetooth Stack. 1.Chipset: QCC3007; Bluetooth 5.0 Technology, bluetooth dual mode audio module 2. Mini Size : 13*26.9*2.2mm ,Coverage up to 50m(164ft). 3. Max Transmit Power: 9 dBm; Receive Sensitivity: -92 dBm. 4. Audio Interfaces: Dual I2S Output Audio Features: SBC and AAC Audio codec 5.Support HFP,HSP, A2DP,PBAP, AVRCP, MAP,SPP,BLE profiles 6. Application: High quality headset & speaker, Bluetooth music box, Car audio applications, USB audio Main Features: *Bluetooth V5.0/4.0/3.0/2.0/1.2/1.1 , Class 1.5 *80 MIPS performance , 24-bit fixed-point DSP core *Over the air updates of external Flash partitions *Wideband speech support *Stereo codec *Stereo line input *SBC and AAC audio Codecs support *1-mic cVc hands-free NR/EC *MFI support *Audio interface: dual I2S and PCM , SPDIF , analog and digital microphone *Fully configurable EQ:6banks for music enhancement ; 1 bank for speaker *Support HSP , HFP , A2DP , AVRCP , PBAP , MAP , SPP , BLE profile *3 Hardware LED controllers ( for RGB ) *UART , 12C SPI , PIO , AIO , USB2.0 control interfaces *Support Full-duplex Acoustic Echo Cancellation #MFIbluetooth #bluetoothmodule#bluetoothsolution #QCC3007BLUETOOTH https://www.instagram.com/p/B4KD0b0J8ru/?igshid=mi8hprcqyu0k
0 notes
techtonicsin · 10 years ago
Photo
Tumblr media
RS232 Bluetooth Adapter #bluetooth #rs232 #serialdata #hc05 #module #bluetoothmodule
0 notes
jaycross666 · 6 years ago
Text
Tweeted
Voice Controlled Home Automation Using Arduino & Bluetooth Module | Andr... https://t.co/FooGODndZ9 via @YouTube#engineeringonline #engineeringtech #mitappinventor #mitappinventor2 #homeautomation #homeautomationsystem #voicecontrolledhome #bluetoothmodule #hc05 #proteus
— Engineering Online (@EngOnline0) November 6, 2019
0 notes
anne-blm · 6 years ago
Photo
Tumblr media
BT 5.0 dual mode module BT836: Chipset:Realtek RTL8761 Size:13*26.9*2.2mm Power supply:3.0-3.6v Interfaces: UART,I2C,SPI Profiles:SPP,HID,GATT Feaycom main lines: BLE,BT Dual Mode,BT Audio,WIFI SOC,BT/WIFI transceiver,Beacon If there is any items using bluetooth/WIFI module or Beacon,pls kindly contact with me directly.We could supply you powerful technical support that you need. [email protected] #BLE device #bluetoothmodule #bluetoothdualusb https://www.instagram.com/p/B3v7YzAJKSG/?igshid=1qqsg97dk99cb
0 notes
anne-blm · 6 years ago
Photo
Tumblr media
Product display and some applications.#bluetoothaccessories #bluetoothsolution #bluetoothmodule #bluetoothapplication #bluetoothapp https://www.instagram.com/p/B2LrpCWpcQT/?igshid=1eaxr5pkx7cf1
0 notes
anne-blm · 6 years ago
Photo
Tumblr media
One application for RF beauty instrument,within our bluetooth module.#bluetoothbeauty #bluetoothapplication #bluetoothsolution #bluetoothmodule https://www.instagram.com/p/BzNYrK7JWOO/?igshid=v0xd7x1832ia
0 notes