Stap 4: Programmeren de HM-10 modules
De HM-10 modules komen geconfigureerde als slave units en geen auto-slaap. Ze moeten verbinden onmiddellijk, meester om slave, zonder een wachtwoord of andere onderhandelingen. Gebruiken om ze te programmeren, de FTDI 232 adapter (ingesteld op 3,3 volt). U sluit pinnen 3,3 v, Gnd, Rx Tx en Tx naar Rx; het is nuttig om te hebben een vrouwelijke header te plakken op de FTDI pinnen, dan soldeer kleine flexibele draden aan de vrouwelijke kop pinnen, en vanaf daar soldeer de draden aan op de HM-10. Het schakeldiagram Overtuig de HM-10 handleiding voerde de modus op pin 24, de bedrading van de reset op pin 23 en de verbinding van de gronden op pinnen 13,14, 21 en 22 moeten worden volbracht-it neemt een boete getipt soldeerbout en een vaste hand (plus een 3e hand accessoire te houden van de Raad van bestuur). Je moet een soort terminalprogramma is de beste Realterm omdat het u toestaat om verzenden AT modem commando's om de configuratie te wijzigen. Zie dit uitstekende instructable om vertrouwd te raken op de trappen vereist programmeren de HM-10.
/////////////////////////////////////////////////////////////////////////////////////////////////
Het programma van de slaaf als:
MODUS 2, gegevens en AT-commando's in dezelfde gegevensstroom. Stuur AT + MODE2
PWRM 0, automatische slaapstand, stuur AT + PWRM0
ROL 0, slaaf/extern/randapparaat eenheid, stuur AT + ROLE0
PCTL 1, power output, max. Stuur AT + PCTL1
STROOM 0, datatransportbesturing niet gebruikt. Stuur AT + FLOW0
ADDR?, moet u het MAC-adres voor dit apparaat vinden, schrijf het op. Gebruikt om CONN in model. Stuur AT + ADDR?
CONN XXYYZZ etc., stel de slaaf verbinden met master's MAC-adres. Stuur AT + CON22C22FF22DA2 [ongeacht het master MAC-adres is]
BAUD 0, standaard baud-rate 9600 baud (zo snel als de ATtiny85 kunt verzenden) verzenden AT + BAUD0
POWE 2, 0 dBm verzenden macht, stuur AT + POWE2
Typ 0, ervoor te zorgen dat er geen wachtwoord wordt gebruikt, verzendt AT + TYPE0
VERS?, versie. Mijn versie was v540. Stuur AT + VERS?
///////////////////////////////////////////////////////////////////////////////////////////////////////
Het programma van de master als:
MODUS 2, gegevens en AT-commando's in dezelfde gegevensstroom. Stuur AT + MODE2
PWRM 1, geen slaapmodus (meester heeft externe zachte klink macht neer), verzenden AT + PWRM1
ROLE 1, meester/centrale eenheid, stuur AT + ROLE1
PCTL 1, power output, max. Stuur AT + PCTL1
STROOM 0, datatransportbesturing niet gebruikt. Stuur AT + FLOW0
ADDR?, moet u het MAC-adres voor dit apparaat vinden, schrijf het op. Gebruikt u CONN in slave. Stuur AT + ADDR?
CONN XXYYZZ enz., de kapitein verbinden van slaaf-MAC-adres instellen Stuur AT + CON22C22FF22DA2 [wat de slaaf MAC-adres is] *
BAUD 0, standaard baud-rate 9600 baud (zo snel als de ATtiny85 kunt verzenden) verzenden AT + BAUD0
POWE 2, standaard 0 dBm macht doorsturen, stuur AT + POWE2
Typ 0, ervoor te zorgen dat er geen wachtwoord wordt gebruikt, verzendt AT + TYPE0
VERS?, versie. Mijn versie was v540. Stuur AT + VERS?
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Opmerking: in V540, de eenheden niet langer automatisch koppelen op de macht over. In plaats daarvan stuurt de schets CONN XXYYZZ etc. telkens wanneer de weergave wordt gestart.
Andere interessante AT commando's:
TEMP? Stuur AT + TEMP? om de temperatuur
RSSI? ontvangen signaalsterkte verzenden AT + RSSI?
BATT? accuspanning (A/D converter heeft!), AT + BATT verzenden?
PIO4, PIO7 etc. instellen of duidelijke output pinnen (niet hier gebruikt, maar kan handig). De Atmega328P wordt gewekt uit de slaap via seriële gegevens verzonden vanaf de lijn van de HM-10 Tx via 10 K Ohm weerstand naar INT0 hardware-interrupt pin. Kon hebben de PIO pinnen gebruikt hetzelfde te doen alsof ik aan de macht op en neer de ATtiny85 in het vorige project worden gebruikt, maar dacht dat dit zou een minder ingewikkelde manier om het te doen.