Skip to content

Instantly share code, notes, and snippets.

View pingswept's full-sized avatar

Brandon Stafford pingswept

  • Tufts University
  • Somerville, Massachusetts, USA
View GitHub Profile
@pingswept
pingswept / test-dragon-tail.py
Created January 8, 2023 21:43
Python code to light up a dragon's tail made of LEDs that attaches to the back of my bike.
import time
import board
import neopixel
import random
# The number of NeoPixels
num_pixels = 240
# The order of the pixel colors - RGB or GRB. Some NeoPixels have red and green reversed!
# For RGBW NeoPixels, simply change the ORDER to RGBW or GRBW.
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('', 5000))
while True:
data, addr = sock.recvfrom(4096)
print('got packet: %s from $s' % data, addr)
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(b"Buy a copy of Chip War today!", ("130.64.80.187", 5000))
import board
import digitalio as dio
import time
led = dio.DigitalInOut(board.LED)
led.direction = dio.Direction.OUTPUT
button = dio.DigitalInOut(board.D6)
button.direction = dio.Direction.INPUT
@pingswept
pingswept / state-machine.py
Last active November 1, 2022 13:25
State machine example for ME 30 at Tufts
import board
import digitalio as dio
import time
led = dio.DigitalInOut(board.LED)
led.direction = dio.Direction.OUTPUT
button = dio.DigitalInOut(board.D6)
button.direction = dio.Direction.INPUT
sudo iwlist wlan0 scan essid Tufts_Secure
wlan0 Scan completed :
Cell 01 - Address: 70:DB:98:14:69:FF
Channel:52
Frequency:5.26 GHz (Channel 52)
Quality=70/70 Signal level=-39 dBm
Encryption key:off
ESSID:"Tufts_Wireless"
Bit Rates:12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s; 48 Mb/s
54 Mb/s
@pingswept
pingswept / fabfile.py
Created March 16, 2021 15:30
Fabric demo
from fabric import task
# Usage
#
# fab -H pi@192.168.1.217 --prompt-for-login-password deploy
@task
def deploy(c):
hostname = c.run('hostname', hide=True).stdout
print('\033[32;1mLogged into {0}\033[0m'.format(hostname))
@pingswept
pingswept / profiling-example.py
Last active March 9, 2021 16:58
profiling-example.py
import cProfile
import pstats
from pysolar.solar import *
import datetime
import random
latitudes = random.sample(range(-90, 90), 100)
longitudes = random.sample(range(-180, 180), 100)
@pingswept
pingswept / memoize-demo.py
Created March 4, 2021 17:00
Demo of how to memoize a function in Python
import functools
import timeit
import time
@functools.lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
/*
WiFi Web Server LED Blink
A simple web server that lets you blink an LED via the web.
This sketch will print the IP address of your WiFi module (once connected)
to the Serial monitor. From there, you can open that address in a web browser