Skip to content

Instantly share code, notes, and snippets.

💭
I may be slow to respond.

Rafał Wileczek rafalw

💭
I may be slow to respond.
View GitHub Profile
@rafalw
rafalw / czujnik_ultradzwiekowy.ino
Created Mar 11, 2020
Obsługa czujnika HC-SR04
View czujnik_ultradzwiekowy.ino
#include <LiquidCrystal.h>
const int trigPin = 8;
const int echoPin = 9;
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
lcd.begin(16, 2);
lcd.noCursor();
@rafalw
rafalw / komunikacja.ino
Created Feb 26, 2020
Ćwiczenie 1 (Arduino)
View komunikacja.ino
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
}
int i = 0;
void loop() {
Serial.println("Toss a letter to your teacher:");
@rafalw
rafalw / blynk_i2c.lua
Created Feb 6, 2020
ESP8266 (ESP-01, NodeMCU 1.5.4.1-final) + Blynk (lokalny serwer) + 2*PCF8574 (I2C/TWI -> 2*8 i/O) = Smart Home (no, nie do końca – chyba, że podłączymy 16 przekaźników...)
View blynk_i2c.lua
dofile("libPCF8574.lua")
-- V0 - układ PCF8574 pod adresem addr_1
-- V1 - układ PCF8574 pod adresem addr_2
local Blynk = require("bl_nodemcu")
local config = {
auth = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -- token aplikacji i urządzenia
ssid = "xxxxxxxxxxxxxxxxxxxx",
pwd = "xxxxxxxxxxxxxxxxxxxx",
}
@rafalw
rafalw / blynk_relay_nodemcu.lua
Created Feb 6, 2020
ESP8266 (ESP-01, NodeMCU 1.5.4.1-final) + Blynk + IFTTT = Smart Home (cz. 3 – ciągle jeszcze przekaźnik...)
View blynk_relay_nodemcu.lua
local Blynk = require("bl_nodemcu")
local config = {
auth = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", -- token aplikacji
ssid = "xxxxxxxxxxxxxxxxxxxx", -- SSID sieci, z którą łączy się sterownik
pwd = "xxxxxxxxxxxxxxxxxxxx", -- hasło do sieci WiFi
}
blynk = Blynk.new(config.auth, {
heartbeat = 10, -- default h-beat is 30
@rafalw
rafalw / blynk_relay.ino
Created Feb 6, 2020
Arduino + Blynk + lokalny serwer na RaspberryPi = Smart Home (cz. 2 – ciągle sterowanie przekaźnikiem)
View blynk_relay.ino
/*************************************************************
SmartHome by Rafał ;)
Sterowanie przekaźnikiem z wykorzystaniem:
– Arduino UNO
– Ethernet Shield W5100
– modułu DIY z przekaźnikiem RM96P-5-W
– dwukolorowej diody świecącej (do sygnalizacji stanu połączenia)
Kod mocno bazujący na przykładzie ze strony projekytu Blynk,
@rafalw
rafalw / smart_home_relay.ino
Created Feb 5, 2020
Arduino + MQTT + gBridge.io + Google Home = Smart Home (cz. 1 – sterowanie przekaźnikiem)
View smart_home_relay.ino
/*
SmartHome by Rafał ;)
Przełącznik (przekaźnik) sterowany przez WiFi (MQTT, Google Home).
Cechy:
– obsługa protokołu MQTT (biblioteka PubSubClient: https://pubsubclient.knolleary.net/);
– podłączenie do Google Home realizowane przez gBridge (https://gbridge.kappelt.net/device) z wykorzystaniem lokalnego mostka
(RaspberryPi 1 + Mosquitto 1.4) ze względu na brak obsługi TLS w Arduino (patrz: dokumentacja gBridge);
– platforma sprzętowa: Arduino UNO + Ethernet Shield (W5100) + moduł DIY z przekaźnikiem RM96P-5-W;
@rafalw
rafalw / dnsomatic-updates.py
Created Nov 8, 2019
Aktualizacja zewnętrznego IP w serwisie dnsomatic.com
View dnsomatic-updates.py
import urllib.parse
from io import BytesIO
from sys import argv
from pycurl import Curl, error
# Pozyskiwanie zewnętrznego adresu IP
# Adres użyty jako parametr domyślny zwraca wiersz CSV – drugie pole to nasz zewnętrzny IP
def get_ip(url_api = 'http://ip4only.me/api/'):
my_ip = BytesIO()
@rafalw
rafalw / mac-vendor.py
Created Nov 8, 2019
Informacje o producencie karty sieciowej wg. adresu MAC
View mac-vendor.py
import urllib.parse
from io import BytesIO
from sys import argv
from pycurl import Curl, error
# Pozyskiwanie danych producenta karty sieciowej o wskazanym adresie sprzętowym MAC
def get_mac_vendor(mac_address, url_api = 'https://macvendors.co/api/', result_form = '/csv'):
vendor_result = BytesIO()
@rafalw
rafalw / what-is-my-external-ip.py
Created Nov 8, 2019
Pozyskiwanie zewnętrznego adresu IP
View what-is-my-external-ip.py
from pycurl import Curl
from pycurl import error
from io import BytesIO
# Pozyskiwanie zewnętrznego adresu IP
# Adres użyty jako parametr domyślny zwraca wiersz CSV – drugie pole to nasz zewnętrzny IP
def get_ip(url_api = 'http://ip4only.me/api/'):
my_ip = BytesIO()
c = Curl()
c.setopt(c.URL, url_api)
@rafalw
rafalw / czas_2.ino
Created Mar 20, 2019
Zegar czasu rzeczywistego – wersja 2. Konieczna modyfikacja!
View czas_2.ino
#include <LiquidCrystal.h>
#include <Timer.h>
#define N 2
#define S 1000
Timer t;
int sekundy = 0;
int minuty = 0;
int godziny = 0;
You can’t perform that action at this time.