Göra ett intelligent skrivbordsklockan, skriven i JavaScript, drivs med Intel Edison (7 / 13 steg)
Steg 7: Importera den MRAA och UPM LCD-biblioteken
Tillräckligt många akronymer för dig? ;)
MRAA är en låg nivå C++-bibliotek som låter den Linux (programvara) sidan av Edison att kommunicera för allmänna input/ut stiften (hårdvara) sidan av Edison. Intel har mraa biblioteket på Github här: https://github.com/intel-iot-devkit/mraa.
Till exempel för att stänga en lysdiod ansluten till stift 13 på, skulle du använda MRAA så här:
var mraa = require('mraa');
var ledde = nya mraa. Gpio(13);
LED.dir (mraa. DIR_OUT);
LED.write(1);
UPM är en högre nivå bibliotek som använder MRAA för att förenkla arbetar med off-the-shelf elektronik komponenter som kräver mer än enkel på/av kommandon såsom LED exemplet ovan. För att få en LCD-skärm visar text, måste du skicka över några mycket exakt tidsinställda elektriska bleeps och bloops så att extra arbete blir paketerade in enskilda UPM bibliotek. Intel har UPM biblioteken på Github här: https://github.com/intel-iot-devkit/upm.
(LCD står för Liquid Crystal Display. Om du är intresserad av vad som händer i en LCD-skärm, titta på "bygga en flytandekristallskärm" på YouTube.)
För Grove LCD-komponenten (Jhd1313m1), skulle du fortfarande inkludera MRAA biblioteket som ovan, förutom att använda enskilda UPM I2C LCD-biblioteket så här:
var mraa = require('mraa');
var jsUpmI2cLcd = kräver ('jsupm_i2clcd');
Initiera LCD.
Den 1: a param är buss ID:
Intel Edison: Använda 6
Intel Galileo Gen 2: Använda 6 (tror jag)
Intel Galileo Gen 1: Använda 0
var lcd = nya jsUpmI2cLcd.Jhd1313m1 (6, 0x3E, 0x62);
Göra bakgrundsbelysningen röd
lcd.setColor (255, 0, 0);
Gå till 2: a raden, 6: e tecken (0-indexeras)
och skriva ut "Hej!"
lcd.setCursor(1,5);
LCD.write('Hello!');
Du hittar mer sensor exempelkod i UPM exempel mapp på Github eller Intel IoT sensorer sida.
Så på toppen av filen main.js behöver du detta:
var mraa = require('mraa');
var jsUpmI2cLcd = kräver ('jsupm_i2clcd');
var lcd = nya jsUpmI2cLcd.Jhd1313m1 (6, 0x3E, 0x62);