http://tinkerman.cat/rpi3_iot_server.pdf (Catalan)
- download the latest image
CATransform3D transformation = CATransform3DIdentity; | |
// x line | |
transformation.m11 = 1; // 20% less wide wall | |
transformation.m12 = 0; //-1 / 10.0; // skews left up, right down if >0 | |
transformation.m13 = 0; // extends sideways for a short time | |
transformation.m14 = 0;// // 1 / 5000 = left side towards viewer, right side away from viewer | |
// y line | |
transformation.m21 = 0; //-1 / 2.0; // skews bottom left, top right if <0 | |
transformation.m22 = 1; // .8 - 20% less tall | |
transformation.m23 = 0; // extends upward for a short time |
/* | |
* This sketch sends ads1115 current sensor data via HTTP POST request to thingspeak server. | |
* It needs the following libraries to work (besides the esp8266 standard libraries supplied with the IDE): | |
* | |
* - https://github.com/adafruit/Adafruit_ADS1X15 | |
* | |
* designed to run directly on esp8266-01 module, to where it can be uploaded using this marvelous piece of software: | |
* | |
* https://github.com/esp8266/Arduino | |
* |
/* | |
* This sketch sends ads1115 current sensor data via HTTP POST request to thingspeak server. | |
* It needs the following libraries to work (besides the esp8266 standard libraries supplied with the IDE): | |
* | |
* - https://github.com/adafruit/Adafruit_ADS1X15 | |
* | |
* designed to run directly on esp8266-01 module, to where it can be uploaded using this marvelous piece of software: | |
* | |
* https://github.com/esp8266/Arduino | |
* |
#include <Wire.h> | |
#include "SSD1306.h" | |
#define SET_BIT_HIGH(__mem, __x, __y) \ | |
__mem[x + (y >> 3)*128] |= _BV( y - ((y >> 3) << 3) ) | |
static const uint8_t sinustable[ 0x100 ] = { | |
0x80, 0x7d, 0x7a, 0x77, 0x74, 0x70, 0x6d, 0x6a, | |
0x67, 0x64, 0x61, 0x5e, 0x5b, 0x58, 0x55, 0x52, | |
0x4f, 0x4d, 0x4a, 0x47, 0x44, 0x41, 0x3f, 0x3c, |
http://tinkerman.cat/rpi3_iot_server.pdf (Catalan)
####################################################################### | |
# CUSTOM NGINX CS-CART SETUP | |
# Simon Nicklin @SimonNjO | |
####################################################################### | |
####################################################################### | |
# A default configuration for domains and IP address. | |
####################################################################### | |
server { |
/* Custom converter for 4/8/12 channel zigbee switch */ | |
const { | |
fromZigbeeConverters, | |
toZigbeeConverters, | |
exposes | |
} = require('zigbee-herdsman-converters'); | |
const e = exposes.presets; | |
const ea = exposes.access; |
"""Module to handle quirks of the Alap CO2 Sensor. | |
manufacturer specific attributes to control displaying and specific configuration. | |
""" | |
import logging | |
import zigpy.profiles.zha as zha_p | |
from zigpy.quirks import CustomCluster, CustomDevice | |
from zigpy.zcl.clusters.homeautomation import Diagnostic | |
from zhaquirks import Bus, LocalDataCluster, QuickInitDevice |
const fz = require('zigbee-herdsman-converters/converters/fromZigbee'); | |
const tz = require('zigbee-herdsman-converters/converters/toZigbee'); | |
const exposes = require('zigbee-herdsman-converters/lib/exposes'); | |
const reporting = require('zigbee-herdsman-converters/lib/reporting'); | |
const extend = require('zigbee-herdsman-converters/lib/extend'); | |
const ota = require('zigbee-herdsman-converters/lib/ota'); | |
const {} = require('zigbee-herdsman-converters/lib/tuya'); | |
const utils = require('zigbee-herdsman-converters/lib/utils'); | |
const globalStore = require('zigbee-herdsman-converters/lib/store'); | |
const e = exposes.presets; |
const fz = require('zigbee-herdsman-converters/converters/fromZigbee'); | |
const tz = require('zigbee-herdsman-converters/converters/toZigbee'); | |
const exposes = require('zigbee-herdsman-converters/lib/exposes'); | |
const reporting = require('zigbee-herdsman-converters/lib/reporting'); | |
const extend = require('zigbee-herdsman-converters/lib/extend'); | |
const ota = require('zigbee-herdsman-converters/lib/ota'); | |
const {} = require('zigbee-herdsman-converters/lib/tuya'); | |
const utils = require('zigbee-herdsman-converters/lib/utils'); | |
const globalStore = require('zigbee-herdsman-converters/lib/store'); | |
const e = exposes.presets; |