Initial commit
This commit is contained in:
5
fs/index.html
Normal file
5
fs/index.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<html>
|
||||
<body>
|
||||
<h1>Welcome to the empty project</h1>
|
||||
</body>
|
||||
</html>
|
42
fs/init.js
Normal file
42
fs/init.js
Normal file
@@ -0,0 +1,42 @@
|
||||
load('api_config.js');
|
||||
load('api_gpio.js');
|
||||
load('api_mqtt.js');
|
||||
load('api_sys.js');
|
||||
load('api_timer.js');
|
||||
load("api_neopixel.js");
|
||||
|
||||
// Helper C function get_led_gpio_pin() in src/main.c returns built-in LED GPIO
|
||||
let led = ffi('int get_led_gpio_pin()')();
|
||||
|
||||
let getInfo = function() {
|
||||
return JSON.stringify({total_ram: Sys.total_ram(), free_ram: Sys.free_ram()});
|
||||
};
|
||||
|
||||
// Blink built-in LED every second
|
||||
GPIO.set_mode(led, GPIO.MODE_OUTPUT);
|
||||
Timer.set(1000 /* 1 sec */, true /* repeat */, function() {
|
||||
let value = GPIO.toggle(led);
|
||||
print(value ? 'Tick' : 'Tock', 'uptime:', Sys.uptime(), getInfo());
|
||||
}, null);
|
||||
|
||||
// Publish to MQTT topic on a button press. Button is wired to GPIO pin 0
|
||||
GPIO.set_button_handler(0, GPIO.PULL_UP, GPIO.INT_EDGE_NEG, 200, function() {
|
||||
let topic = '/devices/' + Cfg.get('device.id') + '/events';
|
||||
let message = getInfo();
|
||||
let ok = MQTT.pub(topic, message, 1);
|
||||
print('Published:', ok ? 'yes' : 'no', 'topic:', topic, 'message:', message);
|
||||
}, null);
|
||||
|
||||
function initNeopixel() {
|
||||
let pin = 2, numPixels = 20, colorOrder = NeoPixel.GRB;
|
||||
let strip = NeoPixel.create(pin, numPixels, colorOrder);
|
||||
strip.setPixel(0 / pixel /, 12, 34, 56);
|
||||
strip.show();
|
||||
|
||||
strip.clear();
|
||||
strip.setPixel(1 / pixel /, 12, 34, 56);
|
||||
strip.show();
|
||||
}
|
||||
|
||||
initNeopixel();
|
||||
|
Reference in New Issue
Block a user