<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.extremist.software/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%EB%88%95</id>
	<title>Noisebridge - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.extremist.software/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%EB%88%95"/>
	<link rel="alternate" type="text/html" href="https://wiki.extremist.software/wiki/Special:Contributions/%EB%88%95"/>
	<updated>2026-04-05T22:41:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=ESP8266/Py&amp;diff=56199</id>
		<title>ESP8266/Py</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=ESP8266/Py&amp;diff=56199"/>
		<updated>2017-01-14T08:09:25Z</updated>

		<summary type="html">&lt;p&gt;눕: lite strip&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;microPython on ESP8266&lt;br /&gt;
&lt;br /&gt;
== update firmware ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
esptool --port /dev/ttyUSB0 erase_flash&lt;br /&gt;
esptool --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 esp8266-20161110-v1.8.6.bin &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== blink/wink ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; import machine&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; led = machine.Pin(2, machine.Pin.OUT)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; led.high()&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; led.low()&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; from time import sleep&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; def blink():&lt;br /&gt;
...     led.low()&lt;br /&gt;
...     sleep(0.5)&lt;br /&gt;
...     led.high()&lt;br /&gt;
... &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; blink()&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; def wink():&lt;br /&gt;
...     led.low()&lt;br /&gt;
...     sleep(0.1)&lt;br /&gt;
...     led.high()&lt;br /&gt;
...     sleep(0.2)&lt;br /&gt;
...     led.low()&lt;br /&gt;
...     sleep(0.1)&lt;br /&gt;
...     led.high()&lt;br /&gt;
... &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; wink()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== #505 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#050 green strip&lt;br /&gt;
#005 blue&lt;br /&gt;
&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin, PWM, Timer&lt;br /&gt;
from neopixel import NeoPixel&lt;br /&gt;
&lt;br /&gt;
NEO_PIN = const(3)&lt;br /&gt;
NEO_LENGTH = const(60)&lt;br /&gt;
&lt;br /&gt;
TIMER_INTERVAL = const(100)&lt;br /&gt;
&lt;br /&gt;
blue = PWM(Pin(2))&lt;br /&gt;
blue.duty(512)&lt;br /&gt;
&lt;br /&gt;
color = [14, 0, 32]&lt;br /&gt;
&lt;br /&gt;
blue.duty(1023)&lt;br /&gt;
time.sleep(0.2)&lt;br /&gt;
blue.duty(0)&lt;br /&gt;
time.sleep(0.1)&lt;br /&gt;
blue.duty(999)&lt;br /&gt;
&lt;br /&gt;
neo = NeoPixel(Pin(NEO_PIN), NEO_LENGTH)&lt;br /&gt;
&lt;br /&gt;
t = Timer(-1)&lt;br /&gt;
&lt;br /&gt;
def stripColor():&lt;br /&gt;
	global neo, color&lt;br /&gt;
	for x in range(0, NEO_LENGTH):&lt;br /&gt;
		if uos.urandom(1)[0] &amp;lt; 10:&lt;br /&gt;
			color[0] = uos.urandom(1)[0] // 2&lt;br /&gt;
			neo[x] = color&lt;br /&gt;
	neo.write()&lt;br /&gt;
&lt;br /&gt;
def update(_t):&lt;br /&gt;
	stripColor()&lt;br /&gt;
&lt;br /&gt;
def reboot():&lt;br /&gt;
	import machine&lt;br /&gt;
	time.sleep(2)&lt;br /&gt;
	machine.reset()&lt;br /&gt;
&lt;br /&gt;
t.init(period=TIMER_INTERVAL, mode=Timer.PERIODIC, callback=update)&lt;br /&gt;
stripColor()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== in/out w/weather ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import dht&lt;br /&gt;
import machine&lt;br /&gt;
from machine import Pin&lt;br /&gt;
from time import sleep&lt;br /&gt;
&lt;br /&gt;
d3 = machine.Pin(3, machine.Pin.OUT)&lt;br /&gt;
d0 = machine.Pin(0, machine.Pin.IN)&lt;br /&gt;
d2 = machine.Pin(2, machine.Pin.IN)&lt;br /&gt;
d4 = machine.Pin(4, machine.Pin.OUT)&lt;br /&gt;
d5 = machine.Pin(5, machine.Pin.OUT)&lt;br /&gt;
&lt;br /&gt;
d = dht.DHT11(machine.Pin(1))&lt;br /&gt;
&lt;br /&gt;
def callback(p):&lt;br /&gt;
 if p == d2:&lt;br /&gt;
  if d4.value() == 0:&lt;br /&gt;
   d4.high()&lt;br /&gt;
  else:&lt;br /&gt;
   d4.low()&lt;br /&gt;
  sleep(1)&lt;br /&gt;
  beep()&lt;br /&gt;
 elif p == d0:&lt;br /&gt;
  if d5.value() == 0:&lt;br /&gt;
   d5.high()&lt;br /&gt;
  else:&lt;br /&gt;
   d5.low()&lt;br /&gt;
  sleep(1)&lt;br /&gt;
  beep()&lt;br /&gt;
  beep()&lt;br /&gt;
&lt;br /&gt;
d2.irq(trigger=Pin.IRQ_FALLING, handler=callback)&lt;br /&gt;
d0.irq(trigger=Pin.IRQ_FALLING, handler=callback)&lt;br /&gt;
&lt;br /&gt;
def weather():&lt;br /&gt;
 d.measure()&lt;br /&gt;
 t = d.temperature()&lt;br /&gt;
 h = d.humidity()&lt;br /&gt;
 print(t, h)&lt;br /&gt;
&lt;br /&gt;
def beep():&lt;br /&gt;
 d3.high()&lt;br /&gt;
 sleep(.1)&lt;br /&gt;
 d3.low()&lt;br /&gt;
 sleep(.2)&lt;br /&gt;
&lt;br /&gt;
beep()&lt;br /&gt;
beep()&lt;br /&gt;
beep()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PS2&#039;ish ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; d0 = machine.Pin(4, machine.Pin.IN, machine.Pin.PULL_UP)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; d1 = machine.Pin(5, machine.Pin.IN, machine.Pin.PULL_UP)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; d0.value()&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; def callback(p):&lt;br /&gt;
...     print(p, p.value())&lt;br /&gt;
... &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; from machine import Pin&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; d0.irq(trigger=Pin.IRQ_FALLING | Pin.IRQ_RISING, handler=callback)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; d1.irq(trigger=Pin.IRQ_FALLING | Pin.IRQ_RISING, handler=callback)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; import machine&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; from machine import Pin&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; import utime&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; def callback(p):&lt;br /&gt;
...     print(utime.ticks_us())&lt;br /&gt;
... &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; d0 = machine.Pin(4, machine.Pin.IN)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; d0.irq(trigger=Pin.IRQ_FALLING, handler=callback)&lt;br /&gt;
&amp;lt;IRQ&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;SPACE&#039;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 161328207&lt;br /&gt;
161328513&lt;br /&gt;
161328708&lt;br /&gt;
161328900&lt;br /&gt;
161405882&lt;br /&gt;
161406119&lt;br /&gt;
161406266&lt;br /&gt;
161406458&lt;br /&gt;
161406648&lt;br /&gt;
161406845&lt;br /&gt;
161408507&lt;br /&gt;
161408654&lt;br /&gt;
161408849&lt;br /&gt;
161409041&lt;br /&gt;
161409239&lt;br /&gt;
161409433&lt;br /&gt;
&lt;br /&gt;
&#039;SPACE&#039;&lt;br /&gt;
165145125&lt;br /&gt;
165145405&lt;br /&gt;
165145596&lt;br /&gt;
165145797&lt;br /&gt;
165145992&lt;br /&gt;
165211956&lt;br /&gt;
165212194&lt;br /&gt;
165212385&lt;br /&gt;
165212586&lt;br /&gt;
165212782&lt;br /&gt;
165212928&lt;br /&gt;
165214540&lt;br /&gt;
165214737&lt;br /&gt;
165214934&lt;br /&gt;
165215129&lt;br /&gt;
165215276&lt;br /&gt;
165215469&lt;br /&gt;
&lt;br /&gt;
&#039;SPACE&#039;&lt;br /&gt;
167842588&lt;br /&gt;
167842838&lt;br /&gt;
167843033&lt;br /&gt;
167843180&lt;br /&gt;
167843373&lt;br /&gt;
167920437&lt;br /&gt;
167920681&lt;br /&gt;
167920877&lt;br /&gt;
167921023&lt;br /&gt;
167921216&lt;br /&gt;
167921407&lt;br /&gt;
167923024&lt;br /&gt;
167923219&lt;br /&gt;
167923370&lt;br /&gt;
167923581&lt;br /&gt;
167923772&lt;br /&gt;
167923969&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; import machine&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; from machine import Pin&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; import utime&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; def callback(p):&lt;br /&gt;
...     print(utime.ticks_us(), p.value(), p)&lt;br /&gt;
... &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; d0 = machine.Pin(4, machine.Pin.IN)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; d1 = machine.Pin(5, machine.Pin.IN)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; d0.irq(trigger=Pin.IRQ_FALLING, handler=callback)&lt;br /&gt;
&amp;lt;IRQ&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; d1.irq(trigger=Pin.IRQ_FALLING | Pin.IRQ_RISING, handler=callback)&lt;br /&gt;
&amp;lt;IRQ&amp;gt;&lt;br /&gt;
[SPACE]&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 210770016 1 Pin(5)&lt;br /&gt;
210770569 0 Pin(4)&lt;br /&gt;
210770865 1 Pin(5)&lt;br /&gt;
210771213 1 Pin(4)&lt;br /&gt;
210771514 1 Pin(5)&lt;br /&gt;
210847670 0 Pin(5)&lt;br /&gt;
210848033 1 Pin(4)&lt;br /&gt;
210848336 1 Pin(4)&lt;br /&gt;
210848682 1 Pin(5)&lt;br /&gt;
210848986 1 Pin(4)&lt;br /&gt;
210850323 1 Pin(5)&lt;br /&gt;
210850627 1 Pin(4)&lt;br /&gt;
210850921 0 Pin(5)&lt;br /&gt;
210851268 0 Pin(4)&lt;br /&gt;
210852497 1 Pin(5)&lt;br /&gt;
&lt;br /&gt;
[SPACE]&lt;br /&gt;
214292169 0 Pin(5)&lt;br /&gt;
214292636 1 Pin(4)&lt;br /&gt;
214292932 1 Pin(5)&lt;br /&gt;
214293280 0 Pin(4)&lt;br /&gt;
214293580 1 Pin(5)&lt;br /&gt;
214402831 0 Pin(5)&lt;br /&gt;
214403247 0 Pin(4)&lt;br /&gt;
214403540 1 Pin(5)&lt;br /&gt;
214403890 0 Pin(4)&lt;br /&gt;
214405434 1 Pin(5)&lt;br /&gt;
214405740 0 Pin(4)&lt;br /&gt;
214406038 0 Pin(5)&lt;br /&gt;
214406336 0 Pin(4)&lt;br /&gt;
214406678 1 Pin(5)&lt;br /&gt;
&lt;br /&gt;
[Caps]&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 223902923 1 Pin(5)&lt;br /&gt;
223903519 0 Pin(4)`&lt;br /&gt;
223903810 1 Pin(5)&lt;br /&gt;
223904113 1 Pin(4)&lt;br /&gt;
223904456 1 Pin(5)&lt;br /&gt;
223964179 0 Pin(5)&lt;br /&gt;
223964508 0 Pin(4)&lt;br /&gt;
223964806 0 Pin(4)&lt;br /&gt;
223965101 1 Pin(5)&lt;br /&gt;
223965451 1 Pin(4)&lt;br /&gt;
223966912 0 Pin(5)&lt;br /&gt;
223967413 0 Pin(4)&lt;br /&gt;
223967746 1 Pin(5)&lt;br /&gt;
223968047 0 Pin(4)&lt;br /&gt;
223968997 1 Pin(5)&lt;br /&gt;
&lt;br /&gt;
[U]&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 231044948 1 Pin(5)&lt;br /&gt;
231045553 0 Pin(4)&lt;br /&gt;
231045848 1 Pin(5)&lt;br /&gt;
231046203 1 Pin(4)&lt;br /&gt;
231133566 0 Pin(5)&lt;br /&gt;
231133897 1 Pin(4)&lt;br /&gt;
231134194 0 Pin(4)&lt;br /&gt;
231134492 1 Pin(5)&lt;br /&gt;
231134842 1 Pin(4)&lt;br /&gt;
231136321 1 Pin(5)&lt;br /&gt;
231136711 0 Pin(4)&lt;br /&gt;
231137006 1 Pin(5)&lt;br /&gt;
231137305 0 Pin(4)&lt;br /&gt;
231138390 1 Pin(5)&lt;br /&gt;
&lt;br /&gt;
[U]&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 232928590 1 Pin(5)&lt;br /&gt;
232929128 1 Pin(4)&lt;br /&gt;
232929436 1 Pin(5)&lt;br /&gt;
232929735 1 Pin(4)&lt;br /&gt;
232930084 1 Pin(5)&lt;br /&gt;
233011829 0 Pin(5)&lt;br /&gt;
233012233 1 Pin(4)&lt;br /&gt;
233012527 1 Pin(5)&lt;br /&gt;
233012829 0 Pin(4)&lt;br /&gt;
233014394 0 Pin(5)&lt;br /&gt;
233014699 0 Pin(4)&lt;br /&gt;
233014994 0 Pin(5)&lt;br /&gt;
233015294 0 Pin(4)&lt;br /&gt;
233015587 1 Pin(5)&lt;br /&gt;
&lt;br /&gt;
[U]&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 234233385 1 Pin(5)&lt;br /&gt;
234233821 0 Pin(4)&lt;br /&gt;
234234119 1 Pin(5)&lt;br /&gt;
234234418 0 Pin(4)&lt;br /&gt;
234234713 1 Pin(5)&lt;br /&gt;
234311186 0 Pin(5)&lt;br /&gt;
234311583 0 Pin(4)&lt;br /&gt;
234311878 1 Pin(5)&lt;br /&gt;
234312179 0 Pin(4)&lt;br /&gt;
234313706 0 Pin(5)&lt;br /&gt;
234314064 0 Pin(4)&lt;br /&gt;
234314362 1 Pin(5)&lt;br /&gt;
234314665 0 Pin(4)&lt;br /&gt;
234314959 1 Pin(5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>눕</name></author>
	</entry>
</feed>