Operácie

Bezdrôtová komunikácia a micro:bit: Rozdiel medzi revíziami

Z SensorWiki

(Vytvorená stránka „'''Spoločné zadanie pre celý kružok:''' <html> <style type="text/css"> @font-face { font-family: "MyMatrix"; src: url(http://senzor.robotika.sk/zp/led_count…“)
 
Riadok 1: Riadok 1:
 +
== Bezdrôtový prenos ==
 +
 +
Bezdrôtový prenos medzi dvoma micro:bitmi je realizovaný pomocou špeciálneho firemného protokolu, ktorý sa však pomocou
 +
blokov v knižnici Radio realizuje veľmi jednoducho.
 +
Najprv treba nastaviť číslo skupiny v ktorej bude modul komunikovať, číslo 1 je na cvičení vyhradené pre učiteľa, ostatní použijú pridelené číslo.
 +
 +
Potom používame dve funkcie: radio_send_number, ktorá na danom kanáli odvysiela príslušné číslo z argumentu a on_radio_received,
 +
ktorá vyvolá príslušnú akciu vždy, keď je prijatý rádiový paket. Výsledok príjmu máte k dispozícii v premennej.
 +
 +
 +
[[Súbor:microbitRadio01.png|800px]]
 +
 +
Pri použití komunikácie v simulátore sa objaví druhý modul, ktorý je však naprogramovaný rovnako ako prvý. Vyskúšajte vyššie uvedený program.
 +
Jeho funkcia spočíva vo výmene hodôt zrýchlenia v osi x medzi dvoma microbitmi, pričom pohyb prvého sa zobrazuje ako stĺpcový graf na druhom
 +
a naopak. Zároveň sa údaje zobrazujú aj graficky v simulátore.
 +
 +
 +
'''Úloha: Schôdzka naslepo. '''<BR>
 +
Zistite, ktorý spolužiak má rovnaké číslo ako vy. Naprogramujte micro:bit, aby na pridelenom kanáli vysielal vaše meno (alebo nick), a zároveň na tom istom kanáli počúvajte, či niekto nevysiela svoje meno. Zobrazte si prijatý reťazec a vyplňte správne dvojicu vysielač / prijímač. Za správne spárovanie získate 2 body. Ak si myslíte, že váš program je správny a chyba je len v protistrane, potom môžete využiť služby verejného majáku na kanáli č. 1. Ten vysiela nepretržite a tak zistíte, či vám program funguje.
 +
 +
Namiesto funkcie radio_send_number použite blok radio_send_string.
 +
 +
'''Neoprávnené vysielanie na cudzom kanáli, obzvlášť na č. 1, bude potrestané odpočítaním 10 bodov!!!'''
 +
 +
<!--
 +
 +
Príloha: Konfiguračný súbor pre program SerialPlotter
 +
 +
<source lang="ini">
 +
[MainWindow]
 +
size=@Size(927 689)
 +
pos=@Point(218 102)
 +
activePanel=Port
 +
hidePanels=false
 +
maximized=false
 +
state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\x3\x9f\0\0\x2n\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x3\0\0\0\f\0t\0\x62\0P\0l\0o\0t\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1a\0t\0\x62\0P\0o\0r\0t\0\x43\0o\0n\0t\0r\0o\0l\x1\0\0\0\xb0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x10\0t\0\x62\0R\0\x65\0\x63\0o\0r\0\x64\x1\0\0\x1\xcf\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
 +
 +
[Port]
 +
selectedPort=COM8
 +
baudRate=115200
 +
parity=none
 +
dataBits=8
 +
stopBits=1
 +
flowControl=none
 +
 +
[DataFormat]
 +
format=ascii
 +
 +
[DataFormat_Binary]
 +
numOfChannels=4
 +
numberFormat=uint8
 +
endianness=little
 +
 +
[DataFormat_ASCII]
 +
numOfChannels=3
 +
 +
[DataFormat_CustomFrame]
 +
numOfChannels=1
 +
numberFormat=uint8
 +
endianness=little
 +
frameStart=AA BB
 +
fixedSize=false
 +
frameSize=1
 +
checksum=false
 +
debugMode=false
 +
 +
[Channels]
 +
channel\1\name=Zrychlenie X
 +
channel\1\color=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\0\0VV\0\0)
 +
channel\1\visible=true
 +
channel\2\name=Zrychlenie Y
 +
channel\2\color=@Variant(\0\0\0\x43\x2\xff\xff-o\xc7\xf5\xff\xff\0\0)
 +
channel\2\visible=true
 +
channel\3\name=Zrychlenie Z
 +
channel\3\color=@Variant(\0\0\0\x43\x2\xff\xff\x19\xed\xfa\xb4\xf0s\0\0)
 +
channel\3\visible=true
 +
channel\4\name=Channel 4
 +
channel\4\color=@Variant(\0\0\0\x43\x1\xff\xff\xfe\xfe\x89\x89\0\0\0\0)
 +
channel\4\visible=true
 +
channel\size=4
 +
 +
[Plot]
 +
numOfSamples=1000
 +
indexAsX=true
 +
xMax=1000
 +
xMin=0
 +
autoScale=false
 +
yMax=1023
 +
yMin=-1023
 +
darkBackground=true
 +
grid=true
 +
minorGrid=true
 +
legend=true
 +
multiPlot=false
 +
symbols=auto
 +
 +
[Commands]
 +
command\1\name=Command 1
 +
command\1\type=ascii
 +
command\1\data=ok
 +
command\2\name=Zastav meranie
 +
command\2\type=ascii
 +
command\2\data=stop
 +
command\size=2
 +
 +
[Record]
 +
autoIncrement=true
 +
recordPaused=true
 +
stopOnClose=true
 +
header=true
 +
disableBuffering=false
 +
separator=","
 +
 +
</source>
 +
-->
 +
 +
 +
 +
 +
Ďalšie informácie:
 +
* o programovaní a prístupu k sériovej linke v C++ programoch pre Windows: http://senzor.robotika.sk/ap/blok3.php
 +
 +
 +
[[Category:Základy počítačov]][[Category:micro:bit]]
 +
 +
 
'''Spoločné zadanie pre celý kružok:'''
 
'''Spoločné zadanie pre celý kružok:'''
  

Verzia zo dňa a času 16:47, 8. december 2022

Bezdrôtový prenos

Bezdrôtový prenos medzi dvoma micro:bitmi je realizovaný pomocou špeciálneho firemného protokolu, ktorý sa však pomocou blokov v knižnici Radio realizuje veľmi jednoducho. Najprv treba nastaviť číslo skupiny v ktorej bude modul komunikovať, číslo 1 je na cvičení vyhradené pre učiteľa, ostatní použijú pridelené číslo.

Potom používame dve funkcie: radio_send_number, ktorá na danom kanáli odvysiela príslušné číslo z argumentu a on_radio_received, ktorá vyvolá príslušnú akciu vždy, keď je prijatý rádiový paket. Výsledok príjmu máte k dispozícii v premennej.


MicrobitRadio01.png

Pri použití komunikácie v simulátore sa objaví druhý modul, ktorý je však naprogramovaný rovnako ako prvý. Vyskúšajte vyššie uvedený program. Jeho funkcia spočíva vo výmene hodôt zrýchlenia v osi x medzi dvoma microbitmi, pričom pohyb prvého sa zobrazuje ako stĺpcový graf na druhom a naopak. Zároveň sa údaje zobrazujú aj graficky v simulátore.


Úloha: Schôdzka naslepo.
Zistite, ktorý spolužiak má rovnaké číslo ako vy. Naprogramujte micro:bit, aby na pridelenom kanáli vysielal vaše meno (alebo nick), a zároveň na tom istom kanáli počúvajte, či niekto nevysiela svoje meno. Zobrazte si prijatý reťazec a vyplňte správne dvojicu vysielač / prijímač. Za správne spárovanie získate 2 body. Ak si myslíte, že váš program je správny a chyba je len v protistrane, potom môžete využiť služby verejného majáku na kanáli č. 1. Ten vysiela nepretržite a tak zistíte, či vám program funguje.

Namiesto funkcie radio_send_number použite blok radio_send_string.

Neoprávnené vysielanie na cudzom kanáli, obzvlášť na č. 1, bude potrestané odpočítaním 10 bodov!!!



Ďalšie informácie:


Spoločné zadanie pre celý kružok:

Poskladajte všetky micro:bity do radu a naprogramujte ich tak, aby zobrazili bežiaci text, ktorý vysiela master na kanáli c. 1


Najprv sa dohodnite ako bude všetko fungovať, rozdeľte si úlohy, naprogramujte najprv po menších skupinách (dvojiciach) a potom všetci spoločne.


Skúmajte sami!
Ak máte úlohu splnenú, môžete vyskúšať komunikáciu s vašim telefónom cez Bluetooth.

  1. Stiahnite si aplikáciu pre telefóny Android alebo iOS:

Get it on Google Play micro:bit
Oficiálna Samsung aplikácia pre micro:bit
Get it on Google Play Get it on Apple Store

  1. Zariadenia treba spárovať: http://microbit.org/guide/mobile/
  2. Teraz môžete vyskúšať niektorý z predinštalovaných príkladov



Skúmajte sami 2!
Ak máte úlohu splnenú, môžete vyskúšať ďalšiu aplikáciu na komunikáciu s vašim telefónom cez Bluetooth.

  1. Stiahnite si aplikáciu pre telefóny Android alebo iOS:

Get it on Google Play Bitty Blue
Demo aplikácia pre micro:bit
Get it on Google Play Get it on Apple Store

  1. Do micro:bita treba nahrať príslušný program: http://www.bittysoftware.com/downloads.html#bitty_blue
  2. Zariadenia nebude treba spárovať.
  3. Teraz môžete vyskúšať niektorý z predinštalovaných príkladov