สารบัญ:

Twitter Watcher, #twatch: 6 ขั้นตอน (พร้อมรูปภาพ)
Twitter Watcher, #twatch: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Twitter Watcher, #twatch: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Twitter Watcher, #twatch: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ทำความรู้จัก Mastodon แอปฯ ที่อาจจะมาแทน Twitter - World Watcher Podcast 2024, พฤศจิกายน
Anonim
Twitter Watcher, #twatch
Twitter Watcher, #twatch
Twitter Watcher, #twatch
Twitter Watcher, #twatch
Twitter Watcher, #twatch
Twitter Watcher, #twatch
Twitter Watcher, #twatch
Twitter Watcher, #twatch

#twatch เลื่อนหัวข้อที่กำลังมาแรงล่าสุดจาก Twitter บนหน้าจอ LCD เป็นอุปกรณ์เครือข่ายแบบสแตนด์อโลนที่อัปเดตอยู่เสมอโดยไม่ต้องใช้พีซี มันยอดเยี่ยมมากที่ได้ดู #การเลือกตั้งอิหร่าน ไมเคิล แจ็คสัน และเหตุการณ์ประวัติศาสตร์อื่นๆ ในขณะที่เราพัฒนา #twatch คำแนะนำนี้จัดทำเอกสารเกี่ยวกับฮาร์ดแวร์และการออกแบบ #twatch นอกจากทิกเกอร์เทรนด์ Twitter แล้ว #twatch ยังเป็นกระเป๋าเป้สะพายหลัง LCD อีเธอร์เน็ตทั่วไปอีกด้วย โดยจะแสดงเพลย์ลิสต์ สถิติ PC และข้อมูลอื่นๆ ด้วยโปรแกรมอย่าง LCD Smartie นอกจากนี้ยังสามารถอัพเกรดซอฟต์แวร์ได้ ดังนั้นจึงไม่มีวันล้าสมัย #twatch เป็นโอเพ่นซอร์ส คุณจึงสามารถดาวน์โหลดงานออกแบบของเราและสร้างของคุณเองได้ Seeed Studio มีแพ็กแพ็ก #twatch อีเธอร์เน็ต LCD ที่ประกอบขึ้นมาสองสามชุด ราคา $45 รวมค่าขนส่งทั่วโลก รับพวกเขาในขณะที่มันยังคงอยู่เพราะเราจะไม่ทำมากขึ้นในไม่ช้า หากคุณพลาดโปรเจ็กต์นี้ ลงชื่อสมัครใช้ที่นี่เพื่อรับการแจ้งเตือนเกี่ยวกับการสั่งซื้อล่วงหน้าของ #twatch ในอนาคต ดูบทความนี้พร้อมการจัดรูปแบบดั้งเดิมที่ DangerousPrototypes.com สนทนาเพิ่มเติมในฟอรัม #twatch เราจะส่ง #twatch PCB ฟรี หากคุณเป็นคนแรกที่ทวีต #twatch !ภาพรวมแนวคิด #twatch รวบรวมหัวข้อที่ได้รับความนิยมล่าสุดจาก Twitter จากนั้นโหลดทวีตสองสามรายการสำหรับแต่ละรายการ หัวข้อที่ได้รับความนิยมและทวีตเลื่อนบนหน้าจอ #twatch รวบรวมเทรนด์ใหม่ๆ และทวีตทุก ๆ ห้านาที เพื่อให้คุณเห็นหัวข้อที่ได้รับความนิยมล่าสุดเสมอ นอกจากนี้เรายังเพิ่มโหมดกระเป๋าเป้สะพายหลังอีเทอร์เน็ตทั่วไป ดังนั้น #twatch ยังสามารถแสดงสถิติพีซีจากโปรแกรมเช่น LCD Smartie ข้อมูลเพิ่มเติมเกี่ยวกับคุณลักษณะนี้ในตอนที่ 2

ขั้นตอนที่ 1: การใช้มัน

ใช้มัน
ใช้มัน

#twatch ใช้งานง่าย

  • เชื่อมต่อกับเครือข่ายอีเธอร์เน็ตภายในบ้านด้วยการเข้าถึงอินเทอร์เน็ต #twatch ต้องการการกำหนดค่าเครือข่ายอัตโนมัติ (DHCP) ซึ่งเป็นการตั้งค่าเริ่มต้นสำหรับเครือข่ายในบ้านสมัยใหม่เกือบทุกเครือข่าย
  • เพิ่มพลัง #twatch ต้องใช้แหล่งจ่ายไฟ DC 6-7 โวลต์ ใช้ปลั๊กไฟ DC ขนาด 2.1 มม. ซึ่งเป็นประเภททั่วไป แหล่งจ่ายไฟ Universal DC ควรมีปลั๊กขนาด 2.1 มม.
  • ปรับความคมชัด หน้าจอ LCD เปลี่ยนไปตามอุณหภูมิและอายุ ใช้สกรูปรับเพื่อปรับความคมชัดของหน้าจอ
  • #twatch จะกำหนดการตั้งค่าเครือข่ายและเริ่มเลื่อนดูหัวข้อที่มีแนวโน้มล่าสุดและทวีตบางส่วนจากแต่ละรายการ คุณอาจต้องปรับความคมชัดอีกครั้งเพื่อให้ได้เอฟเฟกต์การเลื่อนที่ชัดเจนที่สุด

รับการอัปเดต #twatch ที่บล็อก Dangerous Prototype

ขั้นตอนที่ 2: ฮาร์ดแวร์

ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์

เราใช้ Cadsoft Eagle เวอร์ชันฟรีแวร์เพื่อสร้างวงจรและ PCB ดาวน์โหลดไฟล์ล่าสุดจากหน้า Google Code ของโครงการ ส่วนนี้สูญเสียรูปแบบไปมากที่ Instructables คุณสามารถดูเวอร์ชันต้นฉบับได้ที่นี่ ไมโครคอนโทรลเลอร์ Ethernet PIC 18F67J60 Microchip PIC 18F67J60 เหมาะอย่างยิ่งสำหรับโครงการนี้ เนื่องจากได้รวมอินเทอร์เฟซเครือข่ายอีเทอร์เน็ตและไมโครคอนโทรลเลอร์ 41MHz (10MIPs) ไว้ในแพ็คเกจขนาดเล็กในราคาเพียงไม่กี่ดอลลาร์ มันมาในแพ็คเกจ 64 พิน + TQFP เท่านั้น แต่เราไม่มีปัญหาในการบัดกรีด้วยมือกับ PCB ระดับมืออาชีพ PIC ต้องใช้แหล่งจ่ายไฟ 3.3 โวลต์ ส่วนอีเธอร์เน็ตนั้นใช้พลังงานมาก ดังนั้นเราจึงใช้ตัวควบคุม TO-220 LD117-3.3volt (VR1) ขนาดยักษ์ เราเลือกตัวควบคุมขนาดใหญ่เพราะอาจต้องกระจายความร้อนเป็นจำนวนมากขึ้นอยู่กับแหล่งจ่ายไฟเข้า ตัวควบคุมต้องใช้ตัวเก็บประจุตัวแยกสัญญาณอินพุตขนาดเล็ก (C15) และตัวเก็บประจุเอาต์พุต 10uF ขนาดใหญ่ (C3) ชิปเหล่านี้มีข้อดีหลายประการ: สามารถตั้งโปรแกรมได้ประมาณ 100 ครั้งเท่านั้น นั่นทำให้การพัฒนายากขึ้น ดังนั้นเราจึงออกแบบ #twatch เวอร์ชันพัฒนาโดยใช้ชิปตัวอื่น ข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบนั้นในบทความต่อๆ ไป พินพินของ PIC แต่ละตัวจะได้รับตัวเก็บประจุดีคัปปลิ้ง 0.1uF (C17-C23) PIC มีตัวควบคุมภายใน 2.5 โวลต์สำหรับไมโครคอนโทรลเลอร์และแกนอีเทอร์เน็ต ตัวควบคุมต้องใช้ตัวเก็บประจุแทนทาลัม 10uF (C1) PIC ได้รับการตั้งโปรแกรมผ่านส่วนหัว ICSP 5 พิน หมุดรีเซ็ต MCLR อยู่ในระดับสูงด้วยตัวต้านทานแบบดึงขึ้น 10K (R21) ตัวต้านทานเพิ่มเติม (R4) และตัวเก็บประจุ (C16) ที่แนะนำโดยแผ่นข้อมูลช่วยป้องกันสภาวะการรีเซ็ตโดยไม่ได้ตั้งใจต่างๆ ส่วนอีเธอร์เน็ตกำหนดให้คริสตัลภายนอก 25MHz (Q1). ตัวเก็บประจุ 33pF สองตัว (C4, C5) ทำให้วงจรออสซิลเลเตอร์สมบูรณ์ เราใช้แจ็คอีเทอร์เน็ตที่มีแม่เหล็กในตัว (J2) แจ็คคือ HanRun HR911105A ที่ Seeed Studio จัดหาให้เรา - ตรวจสอบให้แน่ใจว่าได้แจ็คตัวเดียวกัน แจ็คที่เข้ากันได้ หรือปรับ PCB สำหรับแจ็คที่คุณหาได้ อินเทอร์เฟซอีเทอร์เน็ตต้องมีวงจรยุติ (R30-33, C10-11, L1) และตัวต้านทานอคติ 2.28Kohm 1% (R7 ไม่แสดง) LCD ตัวอักษร HD44780 #twatch รองรับจอ LCD 'มาตรฐาน' 4line คูณ 20 ตัวอักษร 5 โวลต์ HD44780 LCD พร้อมไฟพื้นหลัง +5 โวลต์ โดยปกติคุณสามารถหาซื้อได้ในราคาประมาณ 10 เหรียญบนอีเบย์ ตรวจสอบให้แน่ใจว่า LCD ของคุณตรงกับพิน #twatch ก่อนติดตั้ง LCD ส่วนใหญ่เหมือนกันแต่ไม่ใช่ทั้งหมด LCD ตัวอักษรเกือบทั้งหมดทำงานที่ 5 โวลต์ ดังนั้นเราจึงจัดหาแหล่งจ่ายไฟ 5 โวลต์จากตัวควบคุม 7805 ทั่วไป (VR2, C14, C2) จอ LCD ที่มีแสงพื้นหลังอาจใช้กระแสไฟจำนวนมาก ดังนั้นเราจึงใช้ตัวควบคุม To-220 ขนาดใหญ่อีกตัวหนึ่ง C12 เป็นตัวเก็บประจุแบบแยกส่วนสำหรับแหล่งจ่ายไฟ LCD แต่ LCD มีตัวแยกคัปปลิ้งในตัวอยู่แล้ว ไม่จำเป็นต้องเติม C12 เราเพียงแค่รวมไว้ในกรณีที่มีปัญหาด้านความเสถียร สำหรับความเร็วในการรีเฟรชสูงสุด LCD จะถูกควบคุมผ่านอินเทอร์เฟซ 8 บิตเต็มรูปแบบ LCD ส่วนใหญ่เป็นชิ้นส่วน 5 โวลต์ที่ต้องใช้ประมาณ 4.25 โวลต์ขึ้นไปเพื่อลงทะเบียนระดับสูงบนหมุดข้อมูล แต่ PIC 18F65J60 เป็นเพียงส่วน 3.3 โวลต์ โชคดีที่ PIC มีพินที่ทนทานต่อแรงดันไฟฟ้า 5 โวลต์จำนวนมาก ดังนั้นเราสามารถเก็บสัญญาณไว้ที่ 5 โวลต์ด้วยตัวต้านทานแบบดึงขึ้น 10K (R10-R19) จากนั้นกราวด์โดยเปลี่ยนการตั้งค่าทิศทางพินของ PIC โดยทั่วไปเรียกว่าเอาต์พุตแบบเปิดโล่ง LCD รุ่นใหม่บางรุ่นทำงานที่ 5 โวลต์ แต่ยังคงทำงานที่ระดับอินเทอร์เฟซ 3.3 โวลต์ #twatch จะรองรับโหมดนี้หากคุณปล่อย R10-19 ออก ดังนั้นจะไม่มีแรงดันดึงขึ้นที่พิน และเปลี่ยนเฟิร์มแวร์เพื่อสลับการลงทะเบียน LAT แทนการลงทะเบียน TRIS ใน HD44780.c. LCD คอนทราสต์ของหน้าจอถูกควบคุมโดย แรงดันไบแอส ซึ่งมักสร้างด้วยโพเทนชิออมิเตอร์ 10Kohm #twatch PCB มีรอยเท้าสำหรับหม้อ SMD (R2) ขนาด 3 มม. ราคาไม่แพง และพื้นที่ที่สองสำหรับใช้หม้อเจาะรูขนาดใหญ่ (R2A) ควรมีเพียงหนึ่งเดียวเท่านั้น! ในกรณีที่มีสัญญาณรบกวนในแหล่งจ่ายไฟจากอุปกรณ์อีเธอร์เน็ตทั้งหมด เราจะกรองแรงดันอคติผ่านลูกปัดเฟอร์ไรท์ขนาดเล็ก (L2) เรายังรวมตัวเก็บประจุสำหรับการกรองเพิ่มเติม (C13) ด้วย แต่เราไม่ได้ใช้มันเนื่องจากไม่มีองค์ประกอบใดที่จำเป็นจริงๆ #twatch สามารถควบคุมไฟแบ็คไลท์แบบธรรมดา +5 โวลต์ได้สูงถึง 400mA หรือมากกว่านั้น PIC สลับทรานซิสเตอร์ (NPN1) ผ่านตัวต้านทานจำกัดกระแส 240ohm (R3 ไม่แสดง) เราใช้ทรานซิสเตอร์ที่สามารถรองรับ 800mA+ โดยมีอัตราขยาย 250hfe+ ดังนั้น PIC จึงสามารถสลับโหลดขนาดใหญ่ด้วยกระแสไฟขาออกพินสูงสุด 20mA R1 เป็นตัวต้านทานจำกัดกระแสสำหรับไฟหลังจอ LCD หากจำเป็น เราใช้ตัวต้านทานผ่านรูเพื่อให้สามารถกระจายความร้อนได้มากด้วยไฟแบ็คไลท์ขนาดใหญ่ และเนื่องจากเป็นขนาดที่ง่ายที่สุดในการค้นหาในพื้นที่และบัดกรีด้วยตัวเอง หากไฟแบ็คไลท์ของคุณไม่ต้องการตัวต้านทาน ให้เปลี่ยน R1 ด้วยลวดเส้นหนึ่ง จอ LCD ของเราต้องการตัวต้านทาน 3 โอห์มสำหรับแหล่งจ่ายไฟแบ็คไลท์ 240mA ไฟแบ็คไลท์บางตัวใช้พลังงานมาก ดังนั้นเราจึงใส่หมุดจ่ายไฟไว้ข้างๆ แหล่งจ่ายไฟ และเสริมระนาบกราวด์ด้วย VIA จำนวนมาก ไฟแบ็คไลท์ LCD แฟนซีบางรุ่นต้องการวงจรไดรฟ์แบบพิเศษ ดังนั้นโปรดใช้แหล่งจ่ายไฟ +5 โวลต์แบบธรรมดาเพื่อหลีกเลี่ยงความเสียหาย แหล่งจ่ายไฟ #twatch ต้องใช้แหล่งจ่ายไฟ 6-7 โวลต์ผ่านแจ็คจ่ายไฟ 2.1 มม. (J1) ปลั๊กขนาด 2.1 มม. เป็นขนาดทั่วไปมากที่สุด และควรมาพร้อมกับแหล่งจ่ายไฟสากลทุกแบบ ยิ่งคุณใช้แรงดันไฟฟ้าสูงเท่าใด ความร้อนที่ต้องระบายออกจาก VR1 และ VR2 จะยิ่งมากขึ้น โปรดจำไว้ว่า #twatch เป็นบอร์ดการเรียนรู้ต้นแบบ ไม่ใช่ผลิตภัณฑ์เชิงพาณิชย์ที่สมบูรณ์และผ่านการทดสอบ ใช้มาตรการป้องกันความปลอดภัยที่เหมาะสมและอย่าเรียกใช้โดยไม่มีใครดูแล

ขั้นตอนที่ 3: PCB และ Partlist

PCB และ Partlist
PCB และ Partlist
PCB และ Partlist
PCB และ Partlist

เราใช้ Cadsoft Eagle เวอร์ชันฟรีแวร์เพื่อสร้างแผนผังและ PCB ดาวน์โหลดไฟล์ล่าสุดจากหน้า Google Code ของโครงการ PCB เป็นการออกแบบ 2 ชั้นที่มีร่องรอยและการแยกขนาดเล็ก (10mil) รอบชิป 64pin TQFP PIC เราได้เตรียมเกอร์เบอร์และส่งไปยังบริการ PCB ของ Seeed Studio สำหรับงานโอเพ่นซอร์ส PCB เพิ่มเติมจากการสั่งซื้อของเรามีอยู่ในร้าน Seeed Studio หากคุณซื้อ PCB พิเศษของเรา อย่าลืมซื้อแจ็คอีเทอร์เน็ต HanRun ที่เหมาะกับบอร์ด เนื่องจากรูสำหรับติดตั้งบน LCD ขนาด 20x4 แตกต่างกัน เราไม่ได้พยายามใส่ PCB เข้ากับรู LCD เราทำให้มันเล็กที่สุดเท่าที่จะเป็นไปได้ เช่น กระเป๋าเป้สะพายหลัง LCD แบบอนุกรมของ SparkFun ดังนั้นจึงไม่เกะกะรูเดิม ผลข้างเคียง จึงไม่รู้สึกอึดอัดนักเมื่ออยู่หลังหน้าจอขนาดเล็กเช่น LCD 16x2 ที่ Adafruit รายการชิ้นส่วน คลิกเพื่อดูภาพตำแหน่งขนาดเต็ม [PNG] Part | ความคุ้มค่า | PackageIC1 PIC 18F67J60 TQFP-64C1-3 10uF ตัวเก็บประจุแทนทาลัม 10 โวลต์ + SMC_AC4, 5 33pF ตัวเก็บประจุ 0805C10, 11, C14-23 0.1uF ตัวเก็บประจุ 0805ICSP 5x 0.1" หัวพินชายJ1 2.1 มม. แจ็คไฟ SMD SMDJ2 HR911105A แจ็คอีเธอร์เน็ต RJ-45L1, L2 ลูกปัด, 200ma+ 0805NPN1 ทรานซิสเตอร์ NPN, 250hfe+, 800ma+ SOT-23Q1 25MHz SMD คริสตัล HC49UPR2(A) 10K ตัวต้านทานแบบเลี้ยวครั้งเดียว 3mm SMD หรือรูทะลุR3 ตัวต้านทาน 240 โอห์ม 0805R4-6 390 โอห์ม ตัวต้านทาน 0805R7 2, ตัวต้านทาน 260 โอห์ม 1% 0805R10- ตัวต้านทาน 21 10,000 โอห์ม 0805R30-33 ตัวต้านทาน 49.9 โอห์ม, 1% 0805VR1 LDO ตัวควบคุม 3.3 โวลต์ (LD1117) TO-220VR2 7805T ตัวควบคุม 5 โวลต์ TO-220HD44780-LCD 20x4 HD44780 ตัวอักษร LCD

ขั้นตอนที่ 4: เฟิร์มแวร์

เฟิร์มแวร์
เฟิร์มแวร์
เฟิร์มแวร์
เฟิร์มแวร์
เฟิร์มแวร์
เฟิร์มแวร์

การดาวน์โหลดเฟิร์มแวร์ #twatch ที่สมบูรณ์ล่าสุดอยู่ในหน้า Google Code ของโครงการ โค้ดนี้เขียนด้วยภาษา C และคอมไพล์ด้วยคอมไพเลอร์สาธิต Microchip C18 สแต็ค TCP/IP และฟังก์ชันเครือข่ายพื้นฐาน สแต็ค TCP/IP 'ฟรี' ของไมโครชิปมีฟังก์ชันเครือข่ายทั้งหมดที่เราต้องการเพื่อให้มีอยู่ในเครือข่ายภายในบ้านและดึงข้อมูลจาก Twitter สแต็คเป็นโอเพ่นซอร์สและฟรีเหมือนในเบียร์ แต่ใบอนุญาตของไมโครชิปห้ามการแจกจ่าย เนื่องจากปัญหาด้านลิขสิทธิ์ เราจึงใส่ซอร์สโค้ดที่เป็นสาธารณสมบัติในโปรเจ็กต์ Google Code SVN เท่านั้น เรียนรู้วิธีดาวน์โหลดและคอมไพล์ซอร์สที่นี่ สแต็กมีไคลเอ็นต์ Dynamic Host Configuration Protocol ที่กำหนดค่าการตั้งค่าเครือข่ายโดยอัตโนมัติโดยใช้ DHCP เซิร์ฟเวอร์บนเครือข่ายท้องถิ่นของคุณ #twatch ต้องใช้เซิร์ฟเวอร์ DHCP แต่เครือข่ายและเราเตอร์ส่วนใหญ่เปิดใช้งานสิ่งนี้ ที่อยู่ IP, มาสก์, เกตเวย์ และเซิร์ฟเวอร์ DNS ตัวแรกจะแสดงบนหน้าจอ LCD จนกว่าข้อมูล Twitter ที่ถูกต้องจะพร้อมใช้งาน สแต็กยังรวมถึงเซิร์ฟเวอร์ประกาศของไมโครชิปด้วย เมื่อ DHCP ได้รับที่อยู่ IP แล้ว #twatch จะประกาศที่อยู่ IP ด้วยแพ็กเก็ตออกอากาศไปยังคอมพิวเตอร์ทุกเครื่องในเครือข่ายท้องถิ่น ใช้ยูทิลิตี้ MCHPDetect.exe ในไฟล์เก็บถาวรของโปรเจ็กต์เพื่อดูแพ็กเก็ตเหล่านี้ สุดท้าย เราได้รวมเซิร์ฟเวอร์ ping (IMCP) ไว้ด้วย ใช้ไคลเอนต์ ping ใด ๆ เพื่อตรวจสอบว่า #twatch ยังมีชีวิตอยู่บนเครือข่ายหรือไม่ ไคลเอนต์ Twitter TCP โปรแกรมติดตามแนวโน้มของ Twitter เป็นไคลเอนต์ TCP ธรรมดา คล้ายกับเว็บเบราว์เซอร์ ที่ดึงข้อมูลจากเว็บเซิร์ฟเวอร์ API ของ Twitter จะให้ข้อมูลแก่เราในหลากหลายรูปแบบ เราใช้รูปแบบ JSON น้ำหนักเบา เนื่องจากเป็นการง่ายที่สุดสำหรับชิป PIC ที่ใช้พลังงานต่ำในการถอดรหัส ลองใช้ JSONView หากคุณใช้ Firefox หลังจาก #twatch กำหนดการตั้งค่าเครือข่ายโดยอัตโนมัติ ไคลเอ็นต์ TCP ของ Twitter จะควบคุมและคว้าหัวข้อที่กำลังเป็นที่นิยมในปัจจุบัน. มันค้นหาผ่านตัวดึงข้อมูล JSON นี้และค้นหาแท็ก "ชื่อ" คัดลอกหัวข้อที่มีแนวโน้มสูงสุด 10 หัวข้อลงในบัฟเฟอร์ 225 ไบต์ อาร์เรย์ที่แยกจากกันจะจัดเก็บตำแหน่งสิ้นสุดของแต่ละหัวข้อในบัฟเฟอร์ เพื่อให้เราสามารถเรียกข้อมูลหัวข้อได้ในขั้นตอนถัดไป จากนั้น #twatch จะค้นหา Twitter เพื่อหาทวีต 2 รายการสำหรับแต่ละหัวข้อ โดยจะเพิ่มแต่ละหัวข้อต่อท้าย URL การค้นหาของ Twitter JSON อักขระพิเศษ เช่น ช่องว่างและเครื่องหมายวรรคตอนมีการเข้ารหัส URL ไคลเอ็นต์ TCP จะแยกวิเคราะห์ผลการค้นหาและค้นหาทวีตที่ตามหลังแท็ก "ข้อความ" ทวีตมีการเข้ารหัสหลายชั้น เราถอดรหัสอักขระ HTML ที่สงวนไว้ เช่น เครื่องหมาย (&) และเครื่องหมายคำพูด (") เนื่องจากหน้าจอ LCD สามารถแสดงผลได้ เราลบอักขระสากล UTF8 เนื่องจาก LCD HD44780 ไม่มีในชุดอักขระ ทวีตที่แยกวิเคราะห์และถอดรหัสจะถูกเก็บไว้ใน บัฟเฟอร์ 2100 ไบต์ อาร์เรย์เพิ่มเติมทำเครื่องหมายจุดเริ่มต้นและจุดสิ้นสุดของทวีตแต่ละรายการในบัฟเฟอร์ พื้นที่ RAM เป็นปัญหาใหญ่บนชิป 18F67J60 มีทั้งหมดประมาณ 4000 ไบต์ แต่บัฟเฟอร์ 2100 ไบต์ดูเหมือนจะใหญ่พอที่จะรองรับขนาดเฉลี่ย 20 ไบต์ ทวีต เราใช้ความระมัดระวังเป็นพิเศษในการป้องกันปัญหาหน่วยความจำไม่เพียงพอ และเราได้ทดสอบไคลเอ็นต์ภายใต้สภาวะ RAM ที่ลดลงเพื่อให้แน่ใจว่าจะล้มเหลวอย่างงดงามในระหว่างเกิดข้อผิดพลาด Twitter เป็นที่รู้จักกันดีในเรื่องเวลาหยุดทำงานเป็นครั้งคราว หาก #twatch ไม่สามารถทำได้ เชื่อมต่อกับ Twitter จะแสดงข้อความแสดงข้อผิดพลาดในการเชื่อมต่อและลองใหม่ 2 ครั้ง หากไม่สามารถเชื่อมต่อได้หลังจากลองครบ 3 ครั้ง ให้รอห้านาทีก่อนลองอีกครั้ง ซึ่งจะทำให้ Twitter มีโอกาสแก้ไขปัญหาโดยไม่ถูก #twatch โจมตี ueries. The #twatch คว้าเทรนด์ใหม่และทวีตฟีดทุก ๆ ห้านาที Twitter จำกัดจำนวนคำถามที่ลูกค้าอาจทำ ดังนั้นควรระมัดระวังในการรีเฟรชบ่อยขึ้น Twitter อนุญาตให้อัปเดตหัวข้อที่ได้รับความนิยม 150 รายการต่อชั่วโมง และข้อความค้นหา "มากขึ้นอย่างมีนัยสำคัญ" เครือข่าย โหมดกระเป๋าเป้ LCD เซิร์ฟเวอร์ TCP #twatch ยังสามารถแสดงข้อมูลสถานะระบบจากโปรแกรมเช่น LCD Smartie #twatch มีเซิร์ฟเวอร์ TCP บนพอร์ต 1337 ที่ยอมรับคำสั่งรูปแบบ Matrix Orbital นอกจากนี้ยังให้การควบคุมไฟหลังจอ LCD เราจะแสดงวิธีเปลี่ยนเส้นทาง LCD Smartie จากพอร์ต COM ไปยังเซิร์ฟเวอร์ #twatch TCP ในส่วนที่สองของบทความ #twatch ของเรา

ขั้นตอนที่ 5: Bootloader สำหรับการอัปเกรดเฟิร์มแวร์เครือข่าย

Bootloader สำหรับการอัพเกรดเฟิร์มแวร์เครือข่าย
Bootloader สำหรับการอัพเกรดเฟิร์มแวร์เครือข่าย
Bootloader สำหรับการอัพเกรดเฟิร์มแวร์เครือข่าย
Bootloader สำหรับการอัพเกรดเฟิร์มแวร์เครือข่าย
Bootloader สำหรับการอัพเกรดเฟิร์มแวร์เครือข่าย
Bootloader สำหรับการอัพเกรดเฟิร์มแวร์เครือข่าย

#twatch สามารถอัปเดตจากพีซีบนเครือข่ายท้องถิ่นได้ด้วยโปรแกรมโหลดบูตอินเทอร์เน็ตของ Microchip โปรดจำไว้ว่า 18F อีเธอร์เน็ต PIC สามารถตั้งโปรแกรมได้โดยเฉลี่ย 100 ครั้งเท่านั้น ดังนั้นการอัปเกรดจึงค่อนข้างจำกัด เรายังไม่ได้เผาชิป แต่เราไปถึงประมาณ 55 รอบในระหว่างการพัฒนา หากคุณใช้ชิปใหม่ล่าสุด คุณจะต้องตั้งโปรแกรม bootloader ลงใน PIC18F67J60 ผ่านส่วนหัว ICSP จากนั้นคุณสามารถอัปโหลด #twatch เฟิร์มแวร์ผ่านเครือข่าย โปรแกรม twatchv2-bl-vxx. HEX ลงในชิปด้วยโปรแกรมเมอร์ PIC เช่น ICD2 หรือ PicKit เมื่อ #twatch เปิดขึ้นมา โปรแกรมโหลดบูตจะทำงานก่อนที่โปรแกรมหลักจะเริ่มทำงาน bootloader ตรวจสอบการเชื่อมต่อระหว่างพิน PGD และ PGC ของส่วนหัวของการเขียนโปรแกรม ดังแสดงในภาพด้านบน หากพบการเชื่อมต่อ bootloader จะเข้ามาแทนที่และรอการอัปโหลดเฟิร์มแวร์ใหม่ มีโอกาสน้อยมากที่ bootloader จะเริ่มทำงานโดยไม่ตั้งใจแม้จะไม่มีจัมเปอร์ระหว่างพิน PGC และ PGD สิ่งนี้จะไม่ทำให้ #twatch เสียหาย เพียงแค่ถอดแหล่งจ่ายไฟแล้วลองอีกครั้ง สามารถป้องกันรายการ bootloader โดยไม่ได้ตั้งใจได้โดยการเลื่อนจัมเปอร์ไปหนึ่งตำแหน่งเพื่อเชื่อมต่อพิน PGD และ GND #twatch bootloader ใช้ที่อยู่ IP 192.168.1.123 และซับเน็ตมาสก์ 255.255.255.0 คอมพิวเตอร์ของคุณต้องมีที่อยู่ IP ที่ขึ้นต้นด้วย 192.168.1.xxx เพื่อสื่อสารกับ #twatch เราเลือกช่วง 192.168.1.xxx เนื่องจากเป็นค่าเริ่มต้นทั่วไปสำหรับเราเตอร์ที่บ้าน หากคอมพิวเตอร์ของคุณใช้ช่วงที่อยู่ IP อื่น คุณจะต้องปรับเปลี่ยนชั่วคราวก่อนจึงจะสามารถทำการอัปเดตได้วิธีการอัปเกรด:

  • ตรวจสอบให้แน่ใจว่าพีซีของคุณอยู่ในช่วง IP และซับเน็ตเดียวกันกับ #twatch พีซีของคุณควรมีที่อยู่ IP ในช่วง 192.168.1.xxx และซับเน็ตมาสก์ 255.255.255.0 ที่อยู่ IP เริ่มต้นของ #twatch bootloader คือ 192.168.1.123 ตรวจสอบให้แน่ใจว่าไม่มีคอมพิวเตอร์เครื่องอื่นที่เชื่อมต่อกับเราเตอร์เดียวกันใช้ที่อยู่นี้อยู่แล้ว
  • ถอดปลั๊กพาวเวอร์ซัพพลาย #twatch
  • ใส่จัมเปอร์ระหว่างพิน PGC และ PGD
  • เสียบสายเคเบิลเครือข่าย หากจำเป็น แล้วเสียบปลั๊กไฟ หน้าจออาจว่างเปล่า มีบล็อกทึบ หรือขยะ
  • ใช้ยูทิลิตี้ TFTP เพื่อส่งเฟิร์มแวร์ใหม่ไปยัง #twatch IP address เราใช้ TFTP.exe จากบรรทัดคำสั่งของ Windows
  • การอัปเดต TFTP จะรายงานความสำเร็จหรือข้อผิดพลาด
  • ถอดปลั๊กไฟ ถอดจัมเปอร์อัพเดต
  • เสียบปลั๊กไฟกลับเข้าไป #twatch ควรเริ่มเลื่อนทวีต หาก bootloader เริ่มทำงานแทน ให้ใส่จัมเปอร์ระหว่างพิน PGD และ GND แล้วลองอีกครั้ง

ขั้นตอนที่ 6: ก้าวต่อไป รับของคุณเอง

ก้าวต่อไป รับของคุณเอง
ก้าวต่อไป รับของคุณเอง
ก้าวต่อไป รับของคุณเอง
ก้าวต่อไป รับของคุณเอง
ก้าวต่อไป รับของคุณเอง
ก้าวต่อไป รับของคุณเอง
ก้าวต่อไป รับของคุณเอง
ก้าวต่อไป รับของคุณเอง

เราออกแบบ #twatch เพื่อใช้ทรัพยากรอย่างเต็มที่ในชิปตัวเดียว การออกแบบที่ขยายจะเพิ่มคุณสมบัติ แต่มีราคาแพงกว่า #twatch สามารถติดตามฟีด Twitter ของคุณเองได้ จำเป็นต้องมีเว็บเซิร์ฟเวอร์ขนาดเล็กเพื่อเข้าสู่ระบบ Twitter ของคุณและ EEPROM ภายนอกเพื่อจัดเก็บข้อมูลการกำหนดค่า #twatch ยังสามารถจัดเก็บทวีตเพิ่มเติมหรือข้อมูลเพิ่มเติมเกี่ยวกับทวีตเตอร์แต่ละตัว เช่น ชื่อและตำแหน่ง ไมโครชิปไม่ได้สร้างตัวควบคุมอีเทอร์เน็ตในตัวที่มี RAM มากกว่า 4K แต่เราสามารถเพิ่ม SRAM ภายนอกเพื่อจัดเก็บทวีตและทวีตข้อมูลเมตาได้ฮาร์ดแวร์ที่อัปเดตสามารถเพิ่มส่วนหัว I/O สำหรับเชื่อมต่อกับปุ่มต่างๆ ด้วย LCD Smartie ได้ 20 ตัวอักษร โดย 4line LCD ไม่มีพื้นที่แสดงผลมากนัก เราออกแบบอินเทอร์เฟซ #twatch ให้มีพื้นที่จำกัดนี้ เฟิร์มแวร์ที่อัปเดตสามารถรองรับขนาดหน้าจอได้หลายขนาด ตัวโหลดบูตสามารถใช้ที่อยู่ IP ที่ได้รับจาก DHCP การอัปเดตเฟิร์มแวร์ #twatch ในอนาคตจะใช้ประโยชน์จากฟีเจอร์นี้เพื่อการอัปเกรดเครือข่ายที่ง่ายขึ้น สัปดาห์หน้าเราจะพูดถึงเซิร์ฟเวอร์ TCP ที่รองรับ LCD Smartie ซึ่งติดตั้งอยู่ใน #twatch รับไปเลย! #twatch ของคุณมีอะไรกระตุกบ้าง? หากคุณต้องการ #twatch หรือ PCB ที่ประกอบเข้าด้วยกัน นี่คือตัวเลือกสองสามอย่าง:

  • Seeed Studio มีแพ็กแพ็ก #twatch อีเธอร์เน็ต LCD ที่ประกอบขึ้นมาสองสามชุด ราคา $45 รวมค่าขนส่งทั่วโลก รับพวกเขาในขณะที่มันยังคงอยู่เพราะเราจะไม่ทำมากขึ้นในไม่ช้า ใครพลาดโปรเจกต์นี้ ลงทะเบียนที่นี่ เพื่อรับการแจ้งเตือนเกี่ยวกับการสั่งซื้อล่วงหน้าของ #twatch ในอนาคต
  • หากคุณต้องการสร้างของคุณเอง Seeed Studio กำลังขาย #twatch v1 และ v2 PCBs เพิ่มเติมจากคำสั่งซื้อของเรา ตรวจสอบให้แน่ใจว่าได้แจ็คอีเทอร์เน็ตจาก Seeed หรือตรวจสอบให้แน่ใจว่าคุณสามารถหาแจ็คที่ตรงกับ PCB เราจะเขียนเกี่ยวกับ v1 ในอีกสองสามวัน แผนผังและ PCB อยู่ในโครงการ SVN
  • เราจะส่ง #twatch v2 bare PCB ฟรี ให้กับ 2 คนแรกที่ทวีต #twatch

หากคุณต้องการมีส่วนร่วม เข้าร่วมโครงการฮาร์ดแวร์แบบเปิด Dangerous Prototypes ที่ Google Code หรือมาแชทในฟอรัม #twatch สัปดาห์หน้าเราจะแสดงวิธีเปลี่ยนเส้นทางสถิติระบบ LCD Smartie ไปยังเซิร์ฟเวอร์ #twatch TCP

แนะนำ: