ใช้ nodemcu เปิด/ปิด LED ผ่านเว็บ

  • ทีแรกก็เริ่มจากซื้อ nodemcu มาก่อนครับ 270 บาท แล้วผมก็ต่อไปจากขา D2 ผ่าน R เข้าหลอด LED อีกขาก็ต้องลง ground
  • flash firmware ของ nodemcu ด้วย esptool (หาได้จาก github)
  • พอ flash แล้วจริง ๆ เราก็จะเริ่มเข้าไปเล่นได้เลย ผมใช้ minicom ที่เคยใช้ตั้งแต่สมัยใช้ modem สั่ง sudo minicom -D /dev/ttyUSB0 -b 9600 ก็เข้าไปพิมพ์คำสั่งในภาษา Lua ได้เลย
  • แต่พิมพ์เป็นทีทีไม่สะดวกเท่าไหร่ ก็เลยใช้ luatool (หาได้จาก github) upload source ขึ้นไปได้เลย โดยสั่ง sudo luatool.py แค่นี้ไฟล์ init.py จะถูกอัพโหลดขึ้นไป พอเรา restart ก็จะถูกเรียกมาทำงานเลย ไม่ก็ใส่ -r เข้าไปด้วยให้มัน restart ให้ก็ได้
  • ผมลองเขียน web ขึ้นมาด้วย node.js อยู่ที่ http://github.com/veer66/switch สามารถเข้าไปกดเปิดปิดไฟในเว็บได้ ท ่านใดสนใจ load ไปเล่นได้เลย ส่วน nodemcu ก็จะเข้าไปอ่านค่าจาก server แล้วก็ไปเปิดปิดไฟ (code อยู่ใน folder nodemcu)

Ruby – return

เรื่องหนึ่งอาจจะยากที่สุดเวลาเขียน Ruby สำหรับคนที่เขียน Java มาก่อนอาจจะเป็นเรื่อง return

ผมว่าดูตัวอย่างพวกนี้แล้วก็จะเข้าใจได้ไม่ยาก

เหมือนกัน


def func1
  return 10
end

def func1
  10
end

ไม่แน่ใจว่าเหมือนกันไหมแต่ return ค่าเดียวกัน


def func2 a
  if a > 100
    return 10
  else
    return 20
  end
end

def func2 a
  if a > 100
    10
  else
    20
  end
end

แต่ถ้ามันมีหลาย ๆ คำสั่ง มันก็จะเอาคำสั่งสุดท้าย แบบข้างล่างนี่ก็จะได้ผลเหมือนกัน

def func3
  func4(10)
  return func5(20)
end

def func3 a
  func4(10)
  func5(20)
end

มีคนถามว่าแล้วจะมี return ไปทำไม มีคนตอบว่ามันทำให้ function หยุดตรงกลางได้ เช่น

แบบข้างล่างถ้า a = 101 มันก็จะ return 20 แล้วก็ไม่ไปทำ puts ข้างล่าง

def func6 a
  if a > 100
    return 20
  end
  puts 30
  puts 40
  50
end

ปกติแล้วเวลาเขียน Ruby เราต้องติดเสมอว่าจะ return อะไร

… ถ้ามั่วก็ขออภัย

ป.ล. ท่าพวกนี้ Ruby น่าจะได้มาจาก Scheme แต Scheme จะเขียนหลาย ๆ คำสั่งต่อกันเลยไม่ได้ ต้องมีบางทีต้องไปอยู่ใน (begin ) … แต่ช่างเถอะ :-P

คำแนะนำเกี่ยวกับ PHP บน Windows

มิตรสหายหลายท่านเขียน PHP กันบน Windows ครับ ผมก็ไม่ได้ใช้นานแล้ว ตอนโน้นผมใช้ XAMPP มันก็ ok อยู่นะครับ แต่ถ้า project ที่คิดว่าจะใช้เร็ว ๆ นี้ก็อาจจะเลือกตัวเก่า ๆ หน่อยนะครับสัก PHP 5.3 เพราะว่า server หลายตัวยังใช้อยู่ อย่างเช่น Ubuntu 12.04 LTS ก็ยังใช้ PHP 5.3.10 อยู่ เป็นต้น ครับ

ใช้ route ที่ controller อยู่ใน module


angular.module('mymod', [])
.controller('CorpusCtrl', function($scope) {
$scope.foo = 'bar';
})
.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/corpus', {templateUrl: 'partials/corpus.html', controller: 'CorpusCtrl'}); // อย่าลืมใส่ quote คล่อมชื่อ controller ด้วย

}]);

 

Partials/corpus.html:


{{foo}}

 

index.html:


<!doctype html>
<html lang="en" ng-app="mymod">
<head>
<title>MyMod</title>
</head>

<body>
<div ng-view></div>

</body>
<script type="text/javascript" src="http://localhost:3000/assets/application.js"></script>
</html>

อันนี้มีไฟล์ javascript อะไรบ้างก็ใส่เข้าไป ผมใช้ Rails เลยเรียก application.js  ที่เดียว