Btspp2file: Bluetooth most mezi Androidem a Arduinem
Náš čtenář Vojtěch Sedlecký nám poslal článek, ve kterém popisuje jeho aplikaci pro propojení Arduina s Androidem za použití Bluetooth modulu. Děkujeme za článek!
Btspp2file tvoří komunikační most mezi Arduinem a telefony s Androidem, umožňující jednoduše využít to nejlepší z Androidu a Arduina a rychle vytvářet projekty s vysokou přidanou hodnotou namísto plýtvání časem na stále se opakující hardwarové problémy. Btspp2file je jednoduchý, ale výkonný nástroj komunikace. Jeho zdrojové kódy jsou dostupné na GitHubu. Obslužnou aplikaci lze stáhnout zde, ale pro instalaci je nutné povolit instalaci z neznámých zdrojů.
Svět je plných starých Androidů zadarmo nebo za cenu nižší než Arduino, přitom už mají vyřešeno mnoho problémů, kterým musí čelit bastlíř skládající vše z jednotlivých modulů. Pomocí btspp2file lze snadno využít možnosti mobilních telefonů nebo tabletů, především velkého výpočetního výkonu, GSM a Wi-Fi připojení, senzory, dotykový displej a zabudovanou baterii (v podstatě UPS) a mikročipů s mnoha vstupně výstupními piny, UART, I2C či SPI sběrnicí.
Díky tomuto propojení je možné využít například mocný linuxový emulátor Termux s množstvím linuxového softwaru. Také přináší možnost použití Androidních automatizačních nástrojů jako je Automate nebo Tasker , které nepodporují datový přenos přes Bluetooth.
Obsah článku:
Jak btspp2file funguje
Btspp2file Bluetooth Serial Port Profile 2 File je aplikace pro Android, která spravuje Bluetooth spojení mezi telefonem a Bluetooth modulem na straně Arduina (například s modulem HC-05). Aplikace běží jako služba na pozadí, a je možné ji automaticky spouštět po restartu systému. Opakovaně se snaží připojit k předem nastaveným Bluetooth modulům a také dovoluje udržovat spojení s více zařízeními. Služba periodicky čte složku v uložišti telefonu, která odpovídá připojenému zařízení a obsah soboru tx.txt odesílá cílovému zařízení. Přijatá data naopak ukládá do souboru tx.txt.
To znamená, že vaše aplikace jednoduše čte nebo zapisuje sobory.
Arduino a Bluetooth modul HC-05
Pro základní zapojení Bluetooth HC-05 s Arduinem NANO budete potřebovat
- Originál Arduino NANO nebo klon Arduino NANO
- Bluetooth modul HC-05
- 1 kΩ rezistor
- 2 kΩ rezistor
- Propojovací vodiče M/M
- Nepájivé kontaktní pole nebo Arduino propojovací kit
V následujícím příkladu budeme z Androidu posílat ‚1‘ k rozsvícení LED a ‚0‘ k zhasnutí.
#define RX_PIN 2 #define TX_PIN 3 #define LEDB_PIN 13 #define BTN0_PIN 11 #include <SoftwareSerial.h> swSerial(RX_PIN, TX_PIN); void setup() { Serial.begin(115200); while (!Serial) { } Serial.println("READY"); swSerial.begin(9600); pinMode(LEDB_PIN, OUTPUT); pinMode(BTN0_PIN, INPUT_PULLUP); } void loop() { char ch; if(Serial.available() > 0) { ch = Serial.read(); } if(swSerial.available() > 0) { ch = swSerial.read(); } if(ch) { if(ch == '1') { digitalWrite(LEDB_PIN, true); } if(ch == '0') { digitalWrite(LEDB_PIN, false); } if(ch == 'r') { swSerial.print(digitalRead(BTN0_PIN)); Serial.print(digitalRead(BTN0_PIN)); } } }
Nastavení btspp2file
Před použitím aplikace je potřeba spárovat váš modul s telefonem. Kliknutím na modul v seznamu „PAIRED DEVICES“ zvolíte index spojení (pro možnost komunikace s více moduly) který je zároveň podsložkou aplikace pro toto spojení. Aplikace naváže spojení a začne číst daný adresář a obsah soboru tx.txt pošle do Arduina. Naopak data přijatá z Arduina zapíše do souboru rx.txt. Cesta ke kořenové složce aplikace je zobrazena pod nadpisem „PATH“.
Atomate příklad
Na obrázku je jednoduchý skript v nástroji Automate (flow). Jednoduše zapisuje do souboru střídavě ‚0‘ a ‚1‘. Zapsaný soubor je čten btspp2file aplikací a obsah je odesálán přes Bluetooth.
A LED bliká:)
Termux příklad
Pokračujme přikladem v Termuxu, kde vytvoříme jednoduchý skript.
while [ : ] do echo "0" > ~/storage/shared/btspp2file/0/tx.txt sleep 1s echo "1" > ~/storage/shared/btspp2file/0/tx.txt sleep 1s done
V Termuxu můžeme použít například autorův oblíbený Python s mnoha knihovnami a jednoduše vytvořit řešení softwarového úkolu reagující a ovládající svět drátů na pinech Arduina.
Článek také vyšel v anglické podobě na serveru Instructables.com.
Máte i vy projekt, který byste chtěli představit tady na webu Arduino.cz? Přečtěte si v článku, jak na to, a získejte slevu až 1500 Kč v Arduino obchůdku HW Kitchen na součástky potřebné na vaše další bastlení.
- Sledovač slunce s Arduinem - 23.3.2022
- Programovatelný kytarový pedál s Arduinem - 26.2.2020
- Arduino infračervený teploměr vytištěný na 3D tiskárně - 11.2.2020