Skip to content

Instantly share code, notes, and snippets.

View obiltschnig's full-sized avatar
👨‍💻
I may be slow to respond.

Günter Obiltschnig obiltschnig

👨‍💻
I may be slow to respond.
View GitHub Profile
@obiltschnig
obiltschnig / get_devices.js
Created April 27, 2023 17:07
macchina.io REMOTE API JavaScript Example
const https = require('https');
const token = '<jwt>';
const requestOptions = {
hostname: 'remote.macchina.io',
port: 443,
path: '/my-devices/api/devices?status=all',
method: 'GET',
headers: {
@obiltschnig
obiltschnig / macchina-edge-demo.js
Last active July 22, 2021 19:08
Writing sensor values to an InfluxDB database with macchina.io EDGE
var net = require('net');
//
// An object for writing measurements to InfluxDB
//
const InfluxDB = {
formatValue: function(value) {
if (typeof value === 'number')
{
return value.toString();
@obiltschnig
obiltschnig / coap-server.cpp
Created June 11, 2021 15:01
libcoap example server
// g++ -o coap-server coap-server.cpp -lcoap-2-openssl -lPocoNet -lPocoFoundation
#include <Poco/Net/SocketAddress.h>
#include <Poco/Random.h>
#include <Poco/NumberFormatter.h>
#include <Poco/Exception.h>
#include <coap2/coap.h>
#include <iostream>
@obiltschnig
obiltschnig / coap-get.cpp
Created June 11, 2021 14:59
libcoap example client
// g++ -o coap-get coap-get.cpp -lcoap-2-openssl -lPocoNet -lPocoFoundation
#include <Poco/Net/SocketAddress.h>
#include <Poco/Exception.h>
#include <coap2/coap.h>
#include <cstring>
#include <iostream>
//
// SAXParser.cpp
//
// This sample demonstrates the SAXParser class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
@obiltschnig
obiltschnig / mijia.js
Created July 16, 2020 16:03
Access Xiaomi Mijia Temperature/Humidity Sensor via Bluetooth LE (macchina.io)
var sensorRef = serviceRegistry.findByName('io.macchina.btle.peripheral.58:2D:34:35:D7:1D');
var sensor = sensorRef.instance();
const CHAR_BATTERY_LEVEL = 0x0018; // characteristic for reading battery level (0-99)
const CHAR_NOTIFICATION = 0x0010; // characteristic for enabling temperature/humidity notifications
console.log('connecting...');
function parseValue(str)
{
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
int main(int argc, char* argv[])
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
int main(int argc, char* argv[])
#include <memory>
#include <iostream>
struct Acceleration
{
float x;
float y;
float z;
};
@obiltschnig
obiltschnig / MacchinaSensorsToThingSpeak.js
Last active March 8, 2019 11:28
Sending sensor data to ThingSpeak from macchina.io (now with outlier detection).
var net = require('net');
var sensors = [
{
name: 'temperature',
id: 'io.macchina.bluePillar.temperature#lamp1',
sensor: null,
validRange: { min: -40, max: 50 }
},
{