Skip to content

Instantly share code, notes, and snippets.

View chaeplin's full-sized avatar

chaeplin chaeplin

View GitHub Profile
@chaeplin
chaeplin / UdpContext.h
Created November 13, 2015 05:18
esp8266-udp.ino
https://github.com/esp8266/Arduino/blob/342c4ae6fb847bfc787f80b89a2bb888d942dc32/libraries/ESP8266WiFi/src/include/UdpContext.h#L308
private:
void _reserve(size_t size)
{
const size_t pbuf_unit_size = 512;
if (!_tx_buf_head)
{
_tx_buf_head = pbuf_alloc(PBUF_TRANSPORT, pbuf_unit_size, PBUF_RAM);
@chaeplin
chaeplin / video_upload.sh
Created April 24, 2016 06:42 — forked from brndnblck/video_upload.sh
Script for Resumable Media Uploads to Twitter
function video-upload() {
if [ $# -lt 1 ]; then
echo "[ERROR] Missing required file name."
else
FILESIZE=$(wc -c "$1" | awk '{print $1}')
printf "[START] Uploading $FILESIZE bytes.\n"
MEDIAID=$(twurl /1.1/media/upload.json -H upload.twitter.com -d "command=INIT&media_category=amplify_video&media_type=video/mp4&total_bytes=$FILESIZE" | jq .media_id_string | sed 's/\"//g')
INDEX=0
split -b 5m $1 twitter-video-
@chaeplin
chaeplin / WiWi_FTP_Client.ino
Created April 23, 2016 09:16
WiWi_FTP_Client.ino
// File: WiWi_FTP_Client.ino for ESP8266 NodeMCU
/*
Original Arduino: FTP passive client
http://playground.arduino.cc/Code/FTP
Modified 6 June 2015 by SurferTim
You can pass flash-memory based strings to Serial.print() by wrapping them with F().
2015-12-09 Rudolf Reuter, adapted to ESP8266 NodeMCU, with the help of Markus.
*/
@chaeplin
chaeplin / SPIFFShelper.h
Created April 23, 2016 09:12 — forked from sticilface/SPIFFShelper.h
Use SPIFFS like EEPROM
struct spiffs_helper_t {
File f;
spiffs_helper_t(const char * _path ) {
f = SPIFFS.open(_path, "r+"); // try to open if there... for read and write
if (!f) {
f = SPIFFS.open(_path, "w+"); // if fail open for read/write but new
}
};
#define TRIAC_PIN 5
#define ZERO_CROSS_PIN 4
#define DEBOUNCE_TIME 9000 //9ms - 10ms is the pulse period
static uint32_t lastPulse = 0;
static uint16_t period = 5000; //5ms - 50% for each half wave
void ICACHE_RAM_ATTR onTimerISR(){
if(GPIP(TRIAC_PIN)){//OUTPUT is HIGH
GPOC = (1 << TRIAC_PIN);//low
@chaeplin
chaeplin / gateway.ino
Created March 27, 2016 14:08
gateway.ino
// from https://raw.githubusercontent.com/royi1000/ardu-info-center/63df56531a5368c9d195c5effe2d307da26e21a6/gateway/gateway.ino
#include <avr/pgmspace.h>
#include <avr/eeprom.h>
#include <Wire.h>
#include <SPI.h>
#include <EEPROM.h>
#include <DS1307RTC.h>
#include <Time.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
@chaeplin
chaeplin / dht_test3.ino
Last active March 4, 2016 17:29
dht_test3.ino
// CPU 80MHZ, FLASH 4M/1M
/*
*** Sample using esp-01, D16 is connected to RST
*** If DHT22 is powered by a gpio( VCC of DHT22 is connected to a gpio) and OUTPUT of DHT22 is connected to D2, boot will fail.
*** Power off ----> D2 is in LOW( == DHT22 is in LOW) ==> SDIO boot mode.
Temperature and humidity values are each read out the results of the last measurement.
For real-time data that need continuous read twice, we recommend repeatedly to read sensors,
and each read sensor interval is greater than 2 seconds to obtain accuratethe data.
@chaeplin
chaeplin / dht_test2.ino
Created March 4, 2016 10:44
dht_test2.ino
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include "PietteTech_DHT.h"
// ap setting
#include "/usr/local/src/ap_setting.h"
extern "C" {
#include "user_interface.h"
}
@chaeplin
chaeplin / ESP8266 Code (RX node)
Created December 18, 2015 00:27 — forked from crcastle/ESP8266 Code (RX node)
Trying to use NRF24L01+ on ESP8266, using the ESP8266 as MCU (i.e. not an Arduino or ATmega328). See https://github.com/esp8266/Arduino for details on initial setup of ESP8266 as Arduino-compatible MCU. The serial output below does not show expected messages: a) the full output shows up all at once then stops dead and b) the values for _salt, vo…
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define DEVICE_ID 2
#define CHANNEL 1 //MAX 127
RF24 radio(15, 15); // Set up nRF24L01 radio on SPI bus plus pins 7 & 8
// Topology
const uint64_t pipes[2] = { 0xFFFFFFFFFFLL, 0xCCCCCCCCCCLL };
@chaeplin
chaeplin / requestEvent.ino
Created March 1, 2016 11:15
requestEvent.ino
void requestEvent()
{
if ( m % 2 == 0 ) {
I2C_writeAnything(sensor_data);
} else {
I2C_writeAnything(sensor_data_copy);
}
m++;
}