기본 콘텐츠로 건너뛰기

라벨이 lua인 게시물 표시

lua table의 serialization 구현

table은 lua의 재밌는 특징 중 하나인데 간단하게 JSON화 하는 것을 구현해보았다. a={a=1, b={c=2, d=3}}   serialize=function(a)    local res=""   for k,v in pairs(a) do     if res~="" then res = res .. "," end     res = res .. k .. ":" .. (type(v)=="table" and serialize(v) or v)   end   res="{" .. res .. "}"    return res  end print(serialize(a)) 잘 된다. moonscript로 써보면 a=   a:1   b:     c:2     d:3 serialize=(a)->   res=""   res="#{res}#{res~="" and "," or ""}#{k}:#{type(v)=="table" and serialize(v) or v}" for k,v in pairs(a)   "{#{res}}" print serialize a 더 좋다. 문자 처리까지하면 a = {   a = 1,   b = {     c = 2,     d = "a"   } } serialize = function(a)   local res = ""   for k, v in pairs(a) do     res = res .. (res ~= "" and "," or "") .. k .. ...

초저가 IoT WiFi 모듈 - ESP8266 사용기

알리가 춘절로 2달 걸릴 것 같아 두배정도 비싸게 주고 국내에서 구입 이틀만에 왔으니 위안을 삼아야지. ESP-12를 사고 싶었으나 5배 비싸서 못삼. 나도 부품 장나사 할까 (.....는 아니지 -_-) ESP8266은 그 자체로도 훌륭한 MCU를 가지고 있어서 굴러다니는 USB-Serial 케이블을 3.3v 전압으로 개조. (5v 넣었더니 엄청 뜨거워지더라;) http://www.adafruit.com/products/954  (PL2303 계열. 500mA로 전류가 안정적이다) 이렇게 생긴 놈인데 힘줘서 USB 커넥터 쪽을 쪼개면 요렇게 생겨먹었다. 현재는 빨간선이 5v로 되어있다. 3.3V로 옮겨주고 다시 재조립 제품이랑 연결했는데 다시는 ESP-1 사지 말아야지 싶은 것이 핀 숫자도 적고 배열이 아주 별로여서 핀을 롱노즈로 휘고 쌩쇼를 함. 앞면을 기준으로 위에서 아래로 왼쪽에서 오른쪽으로 USB-Serial 케이블 연결을 보면 * ESP8266 1 2 3 4 5 6 7 8 1: GND (-) 2: GPIO2 3: GPIO0 4: RX 5: TX 6: CH_PD 7: RESET 8: VCC (+) * USB-Serial R G W B (빨 녹 흰 검) R: VCC+ G: TX W: RX B: GND- 이라고 할때 1-B 2-x 3-x 4-G 5-W 6-x 7-x 8-R 순으로 대응을 하고 6번 CH_PD에도 VCC+를 넣어주면 된다. 얼기설기 엮어보자꾸나 펌웨어 개조를 하지 않은 상태에서 기본은 Arduino IDE 같은 곳에서 Tool>Serial Port>/dev/tty.usbserial을 선택하고 Tool>Serial Monitor에서 하단 Both NL & CR / 9600 baud를 체크하고 AT 명령을 테스트 해본다. 이상하다 싶을 땐 TX/RX가 반대로 껴져있는지 CH_PD가 VCC+를 ...