Stap 8: Codering Demo
Het msp430_demo.zip-bestand bevat alles wat nodig is om te bouwen en uitvoeren van deze demo. Het maakt gebruik van dezelfde nrf24 bibliotheek als het Galileo en heeft kleine wijzigingen, dus het op de MSP430 voortbouwen zal. De code van de AES-128 voor de MSP430 komt uit Texas Instruments (AES_128.zip).
De code hier, gewoon controleert of de status van de poort 2 voor elke wijziging van de pin elke 20ms. Als een verandering wordt gezien, wordt de huidige status van de poort wordt gecodeerd met behulp van AES-128 en vervolgens via de module met nRF24L01 gestuurd. Aangezien er geen fysieke knoppen (alleen metalen draden aan te raken) is er geen behoefte aan debounce van de ingangen van de poort.
Het is vermeldenswaard dat in deze demo niet veilig of geverifieerde codering voert, noch was het ooit bedoeld. Het doel was om te illustreren een scenario waar het zou handig zijn voor het Galileo-schets voor het doorgeven van gegevens aan een ander proces. In plaats van te besteden tijd herschrijven of het zoeken naar een passende Arduino library voor decodering, kunt u gewoon de PyCrypto module (die is vrij uitgebreid). Uitvoeren van de Demo
Met de MSP430 bestuur en Galileo ingeschakeld, start de shm_python script als hierboven. Wanneer u de grond pinnen een van de zes poort 2 op de MSP430 een bericht moet worden afgedrukt zeggen welke pin werd ingedrukt. De huidige codering in shm_python.py is specifiek voor hoe de draden werden aangelegd op mijn breadboard. De MSP430 code ondersteunt meerdere pinnen aarding - extra waarden hoeft te worden toegevoegd aan de belangrijkste woorden in shm_decrypt.py.
Te vernietigen de IPC-objecten, python_interface.zip downloaden en uitvoeren van tui.py (vereist pySerial) vanaf de computer die u gebruikt voor het programmeren van de Galileo. Lancering tui.py verschijnt een COM-poort (standaard COM 5) op 115200 baud. Dit is een eenvoudig script te verzenden en ontvangen van seriële data overeenstemming met het protocol gecodeerd in de galileo_ipc.ino. Lezing uit register 1 noem myBuffer.close() binnen de schets. Dat wil zeggen
ser r 1Dit is meestal een WIP van mij, maar ik heb het opgenomen voor de volledigheid. U kon ook de serieel protocol binnen galileo_ipc.ino verwijderen en gebruiken een andere methode die u verkiest.