ESP8266 Firmata-J5 NodeBot (5 / 6 steg)
Steg 5: Konfigurera Johnny-fem
Johnny-fem är en öppen källkod, Firmata protokoll baserat, IoT och Robotics programplanering, framkallade på Bocoup. Johnny-fem program kan skrivas för Arduino (alla modeller), elektriska Imp, Beagle ben, Intel Galileo & Edison, Linino en, Pinoccio, pcDuino3, Raspberry Pi, partikel/gnista Core & fotonen, Tessel 2, TI Launchpad och mer!
Jagnstall Johnny-fem:
Måste du ha node.js redan körs på datorn. Läs här
Source Code:
git clone git://github.com/rwaldron/johnny-five.git & & cd johnny-fem
NPM installera
NPM paket:
Installera modulen med:
NPM installera johnny-fem
Vi behöver också Etherport-klientbiblioteket:
Klientsidan virtuella seriella porten för Etherport för genomförandet av firmata-kompatibel styrelser och tjudra nav att kontrollera stiger ombord av en fjärransluten enhet.
NPM installera etherport-client
Writing JS klient
Skapa en js-fil i katalogen johnny-fem och namn den på lämpligt sätt.
Klistra in denna kod:
Uppdatera linje 18 nedan till ESP8266 styrelse adress
/*
* Uppdatera linje 18 nedan till ESP8266 styrelse adress
*
* Aktivera följetong felsökning av uncommenting //#defin SERIAL_DEBUG i StandardFirmataWiFi
* (spara en kopia av StandardFirmataWiFi först)
*
* Vid start (du kan behöva återställa ESP styrelsen eftersom den startar upp riktigt snabbt
* Visa seriella produktionen för att se tilldelade IP-adressen (om du använder DHCP)
* Eller om du vill ge styrelsen en statisk IP (Använd inte DHCP) sedan avkommentera den
* följande rader i wifiConfig.h och uppdatering till din valda IP-adress:
* #define STATIC_IP_ADDRESS 10,0,0,17
* #define SUBNET_MASK 255,255,255,0 / / krävs för ESP8266_WIFI, ignoreras för andra
* #define GATEWAY_IP_ADDRESS 0,0,0,0 / / krävs för ESP8266_WIFI, ignoreras för andra
*/
var Firmata = require("firmata"). Styrelsen;
var EtherPortClient = require("etherport-client"). EtherPortClient;
var ombord = nya Firmata (nya EtherPortClient({
värd: "192.168.1.103",
Port: 3030
}));
Board.on ("ready", function() {
Console.log("ready!");
() Console.log
Board.firmware.name + "-" +
Board.firmware.version.Major + "." +
Board.firmware.version.minor
);
var state = 1;
var lastVal = 0;
this.pinMode (2, här. LÄGEN. PRODUKTION);
setInterval(function() {
blinkar blå LED på en HUZZAH ESP8266 styrelse
för andra brädor, tråd en LED till stift 2 eller ändring
pin-kod nedan
this.digitalWrite (13, (staten ^ = 1));
} .bind(this), 500);
Detta verkar inte fungera - behöver titta på det
en annan sak är ESP använder 1V referens för analog så
När det fungerar, behöver det skalning
this.analogRead (0, function(value) {
om (värde! = lastVal) {
Console.log(Value);
}
});
});