นโยบายการจัดการความรู้ มหาวิทยาลัยสงขลานครินทร์ 1.ให้ใช้เครื่องมือการจัดการความรู้ผลักดัน คุณภาพคน และกระบวนทำงาน 2.ส่งเสริมการแลกเปลี่ยนประสบการณ์การทำงาน จากหน้างาน 3.ส่งเสริมให้มีเวทีเรียนรู้ร่วมกัน
อ่าน: 38
ความเห็น: 0

NANO Pi NEO

NANO Pi NEO
บอร์ด NanoPi NEO
บอร์ด NanoPi NEO ที่พัฒนาและผลิตโดยบริษัท FriendlyARM (www.friendlyarm.com) เป็นบอร์ดประเภท คอมพิวเตอร์บอร์ดเดี่ยว (Single Board Computer: SBC) จุดเด่นคือ มีขนาดเล็ก (40 x 40 มม.) และราคาไม่แพง (ประมาณ 10 USD) ใช้ตัวประมวลผลเป็นชิป Allwinner H3 แบบ Quad-Core ความเร็วในการประมวลผลได้สูงถึง 1.2GHz มีหน่วยความจำแบบ DDR3 ขนาด 256MB หรือ 512MB ให้เลือกใช้งาน ใช้การ์ดหน่วยความจำ microSD เพื่อติดตั้งระบบปฏิบัติการและระบบไฟล์ และบูทระบบจากการ์ด microSD
ข้อมูลเบื้องต้นเชิงเทคนิคของบอร์ด
  • CPU: Allwinner H3, Quad-core Cortex-A7, Up to 1.2GHz
  • DDR3 RAM: 256MB / 512MB (432 MHz) (< $10)
  • Connectivity: 10/100M Ethernet
  • USB Host: Type-A x 1, 2.54 mm pin x 2
  • 1x MicroSD Slot (data transmission and power input)
  • 1x Debug Serial Port (UART0): 4-Pin (GND,5V,TX,RX), 2.54 mm pitch
  • GPIO: 2.54mm pitch 36-pin (3.3V logic level, 5mA max. sink/source current).
  • 2x UART, 1x SPI, 1x I2C, 1x PWM, IO etc
  • PCB Dimension: 40 x 40 mm
  • Power Supply: DC 5V/2A (via microUSB or VDD_5V pin)
  • VDD_5V pin: power supply input 4.7V .. 5.6V
  • SYS_3.3V pin: 3.3V power output (regulated, 3.3V/2A)
  • OS Support: Ubuntu-Core, Ambian OS (Debian-based)
 
รูปบอร์ด NanoPi NEO ที่นำมาใช้งาน (มุมมองจากด้านบน)
 
รูปบอร์ด NanoPi NEO ที่นำมาใช้งาน (มุมมองจากด้านล่าง)
 
รูปผังวงจรในส่วนที่แสดงขาเชื่อมต่อสำหรับคอนเนกเตอร์ CON1
 
รูปผังวงจรในส่วนที่แสดงขาเชื่อมต่อสำหรับคอนเนกเตอร์ CON2

การดาวน์โหลดและติดตั้งระบบปฏิบัติการ Ubuntu-Core ลงในการ์ด microSD
ให้ดาวน์โหลดไฟล์ Image สำหรับระบบปฏิบัติการ ' Ubuntu 15.10' ดังต่อไปนี้
   URL: https://www.mediafire.com/folder/n5o8ihvqhnf6s/Nanopi-NEO 
ไฟล์ที่ได้จะเป็นไฟล์ nanopi-neo-core-qte-sd4g.img.zip (ตามที่ได้ดาวน์โหลดมาทดลองใช้งาน) จากนั้นให้ Unzip ไฟล์ดังกล่าว และได้เป็นไฟล์ nanopi-neo-linux-rootfs-core-qte-sd4g-20160804.img ซึ่งสามารถนำไปเขียนลงในการ์ดหน่วยความจำ microSD (แนะนำให้ใช้ขนาด 8GB เป็นอย่างน้อย) โดยใช้โปรแกรม Win32 Disk Imager (สำหรับคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการ Windows)
 
รูปแสดงขั้นตอนการใช้งานโปรแกรม Win32 Disk Imager 
เพื่อข้อมูลจากไฟล์ Image ลงการ์ด microSD
จากนั้นให้นำการ์ดหน่วยความจำนี้ไปเสียบในช่อง microSD ของบอร์ด NanoPi NEO ถัดไปให้เสียบสาย LAN ที่พอร์ต RJ45 เพื่อต่อเข้ากับระบบเครือข่ายและอินเทอร์เน็ต แล้วจึงจ่ายแรงดันไฟเลี้ยงจาก 5V USB Adapter เข้าที่พอร์ต microUSB ระบบจะเริ่มต้นทำงาน (เข้าสู่ขั้นตอนการบูทระบบ)
การเข้าใช้งานระบบปฏิบัติการ Linux ของบอร์ด NanoPi NEO
การเข้าใช้งานระบบ ทำได้สองวิธีง่ายๆ วิธีแรกคือ การเข้าผ่านพอร์ต Serial Console แต่ต้องอาศัยอุปกรณ์เสริมคือ USB-to-Serial Converter ที่มี Tx/Rx ทำงานที่ระดับแรงดันลอจิก 3.3V (ไม่ใช่ 5V) และวิธีที่สองคือ เข้าใช้งานผ่านระบบเครือข่ายโดยใช้ Secure Shell (SSH) ซึ่งถ้าทราบ IP Address ของบอร์ด ก็สามารถเข้าใช้งานได้ ให้ล็อกอินโดยใช้ชื่อ root และรหัสผ่าน fa
 
รูปผังวงจรในส่วนที่แสดงขาเชื่อมต่อของ Debug Serial Port
 
รูปแสดงการเชื่อมต่อโมดูล USB-to-Serial ไปยัง Debug Serial Port 
สายสีเทาคือ สาย GND ตรงกับ Pin หมายเลข 1 ของ Debug Serial Port
 
รูปแสดงการเข้างานผ่าน Serial Console โดยใช้โปรแกรม Tera TERM 
สิ่งที่ปรากฎเป็นข้อความต่าง ๆ ในระหว่างการบูทระบบ
 
รูปแสดงการ Login เข้าใช้งานในหน้าต่าง Serial Console 
ให้ล็อกอินโดยใช้ชื่อ root และรหัสผ่าน fa
 
รูปตัวอย่างการใช้งานผ่าน SSH โดยใช้โปรแกรม Tera TERM 
และทดลองใช้คำสั่ง ping เชื่อมต่อไปยังเครื่อง 8.8.8.8 (DNS ของ Google)
 
ลองทำคำสั่ง uname -a และ cat /etc/os-release 
เพื่อดูข้อมูลเกี่ยวกับระบบปฏิบัติการ
 
ลองทำคำสั่ง df -h เพื่อดูพื้นที่ของระบบไฟล์ 
และทำคำสั่ง คำสั่ง fs_resize เพื่อขยายขนาดให้เต็มความจุของ microSD (8 GB)
 
หลังจากรีบูทระบบใหม่อีกครั้ง ตรวจสอบขนาดความจุของระบบไฟล์
 
ทำคำสั่ง apt-get update && apt-get upgrade เพื่ออัพเกรดซอฟต์แวร์ของระบบ
 
รูปแสดงตัวอย่างการทำคำสั่ง apt-get install 
เพื่อติดตั้งโปรแกรมอย่างเช่น nano, wget, curl, git
 
ถ้าลองทำคำสั่ง cpu_freq จะเห็นว่าอุณหภูมิของซีพียูค่อนข้างสูง และอาจสูงถึง 70°C

การเชื่อมต่อบอร์ด NanoPi NEO กับอุปกรณ์อื่น
บอร์ด NanoPi NEO มีขาเชื่อมต่อกับอุปกรณ์อื่นๆ ภายนอก ผ่านขาแบบ Male Pin Header เช่น ขาที่ทำหน้าที่เป็น GPIO ขา PWM1 ขาที่ใช้สำหรับพอร์ต SPI0 ขาที่ใช้สำหรับพอร์ต I2C0 และ ขาที่ใช้สำหรับพอร์ต UART1 และ UART2
ถ้าลองต่อสายจากขา UART1/TX ไปยังขา UART1/RX จะสามารถทดสอบการทำงานของ UART1 (ตรงกับชื่ออุปกรณ์ /dev/ttyS1) ในลักษณะ Loopback ได้ ลองดูตัวอย่างโค้ดภาษา Python ต่อไปนี้ แต่ต้องติดตั้งแพคเกจ python-serial ก่อนใช้งาน
 
รูปแสดงขั้นตอนการติดตั้งแพคเกจ python-serial สำหรับ PythonFile: test_serial_loopback.py
#!/usr/bin/env python

import serial, time

portName = '/dev/ttyS1'

# create Serial and open serial port
ser = serial.Serial( port=portName, # set port name
    baudrate=115200,                # baudrate 115200
    bytesize=serial.EIGHTBITS,      # 8-bit data
    parity=serial.PARITY_NONE,      # no parity bit
    stopbits=serial.STOPBITS_ONE,   # one stop bit
    timeout=0.1                     # timeout = 0.1sec
)

try:
    print 'Test Serial Loopback...'
    count=1
    while True: # endless loop
        ser.write( 'hello world! #%01d\n' % count ) 
        print ser.readline().strip() # read a line from serial
        time.sleep(0.5)  
        count = count + 1
        if count > 20:
            break

except KeyboardInterrupt:
    print 'Terminated....'
finally:
    ser.close() # close serial port

##############################################################################


 
รูปแสดงข้อความที่เป็นเอาต์พุตจากการทำงานของสคริปต์ test_serial_loopback.py
นอกจากการใช้งานพอร์ต UART1 หรือ UART2 แล้ว ยังสามารถใช้งานพอร์ต I2C0 และ SPI0 โดยเขียนคำสั่งด้วยภาษา Python ได้เช่นกัน จากรูปด้านล่าง เป็นการทดลองใช้งานร่วมกับวงจรที่ใช้ไอซี MCP3208 (SPI) ซึ่งเป็น 12-bit ADC และ PCF8574A (I2C) ซึ่งเป็น 8-bit I/O Expander
 
รูปตัวอย่างการต่อวงจรระหว่างบอร์ด NanoPi NEO ที่ขา GPIO 
และไอซี MCP3208 (SPI) และ PCF8574A (I2C)

สรุปและข้อคิดเห็น
  • บอร์ด NanoPi NEO เป็นบอร์ด SBC ขนาดเล็ก ราคาไม่แพง เมื่อเปรียบเทียบกับบอร์ดอื่นๆ อย่างเช่น Raspberry Pi 3
  • แม้ว่า จะไม่มี WiFi / Bluetooth-LE แต่ก็สามารถใช้งาน WiFi USB Adapter ได้
  • ขา GPIO แม้ว่าจะมีจำนวนไม่มาก แต่ก็มีพอร์ต SPI, I2C และ UART ให้ใช้งาน ซึ่งนำไปต่อใช้งานร่วมกับอุปกรณ์อื่นได้
  • แต่ในขณะที่ทำงาน อุณหภูมิภายในของ CPU ค่อนข้างสูง อยู่ในช่วง 60 - 70°C ซึ่งจะต้องอาศัยการระบายความร้อนที่ดี เพื่อไม่ให้เกิดปัญหาในการใช้งานต่อเนื่องระยะยาว
แหล่งข้อมูลอ้างอิงและศึกษาเพิ่มเติม
หมวดหมู่บันทึก: เรื่องทั่วไป
สัญญาอนุญาต: ซีซี: แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน Cc-by-nc-sa
สร้าง: 19 มีนาคม 2560 20:23 แก้ไข: 19 มีนาคม 2560 20:23 [ แจ้งไม่เหมาะสม ]
ดอกไม้
เป็นคนแรกที่ให้กำลังใจ
สมาชิกที่ให้กำลังใจ
 
Facebook
Twitter
Google

บันทึกอื่นๆ

ความเห็น

ไม่มีความเห็น

ร่วมแสดงความเห็นในหน้านี้

ชื่อ:
อีเมล:
IP แอดเดรส: 54.204.122.57
ข้อความ:  
เรียกเครื่องมือจัดการข้อความ
   
ยกเลิก หรือ