ในฐานะนักเรียนวิทยาศาสตร์คอมพิวเตอร์ฉันจะพัฒนาทักษะสำหรับงาน IoT นอกการศึกษาอย่างเป็นทางการได้อย่างไร


25

เพื่อให้สามารถทำได้ดีในสาขาวิทยาศาสตร์คอมพิวเตอร์นักศึกษาวิทยาลัยต้องทำมากกว่าการได้รับปริญญา - พวกเขาต้องก้าวไปข้างหน้าและเหนือกว่าเพื่อแข่งขันกับคนอื่น ๆ ในสนาม

ในฐานะนักเรียน CS ฉันรู้สึกค่อนข้างสบายใจกับด้านซอฟต์แวร์ของ IoT แต่ไม่ค่อยพอใจกับด้านอิเล็กทรอนิกส์และโครงสร้างโดยรวมของเซ็นเซอร์ / อุปกรณ์ที่ใช้งานอินเทอร์เน็ตได้

ในแง่ของ IoT ฉันจะทำอย่างไรเพื่อพัฒนาทักษะของฉัน โดยเฉพาะอย่างยิ่งฉันสนใจในสิ่งที่อาจไม่ได้รับการสอนในวิทยาลัยสำหรับหลักสูตร CS ของฉันเพื่อช่วยฉันในอนาคตด้วยการได้งานหรือความก้าวหน้าในสาขา


3
คุณสามารถทำสิ่งที่เกี่ยวข้องกับ IoT ที่วิทยาลัยได้หรือไม่? ซื้อ Raspberry Pi Zero W สองสามตัว (หรือคล้ายกัน แต่ราคาถูกที่สุด) เป็นโปรเจคต์ที่คิดขึ้นมา อาจได้หมวกเซ็นเซอร์ ความล้มเหลวนั้นค้นหา JSON API ฟรีซึ่งจะดึงข้อมูลของคุณและเผยแพร่ข้อมูลไปยังเว็บไซต์ จากนั้นก็เดินไปเรื่อย ๆ มองเข้าไปใน Zigbee และMQTT เผยแพร่โครงการหรือเว็บไซต์ GitHub ไม่กี่แห่งที่คุณสามารถแสดงให้คนอื่นเห็น อาจเข้าร่วมในโครงการ FOSS ที่มีขนาดใหญ่กว่าเดิม เริ่มต้นเล็ก ๆ เพิ่มขึ้นเพิ่มความซับซ้อนและทำให้มองเห็นได้แล้วเพิ่มลงในประวัติส่วนตัวของคุณ
Mawg

FWIW ฉันเห็นตำแหน่งงาน Zigbee จำนวนมาก แต่จนถึงตอนนี้ไม่มี MQTT แต่ฉันยังคงมองหา MQTT ถ้าฉันเป็นคุณ
Mawg

คำตอบ:


16

ฉันเป็นอาจารย์สอนพิเศษของมหาวิทยาลัยในแผนกที่ตอนนี้สอนIoTและการสังเกตของคุณถูกต้องเมื่อพูดถึงการทำให้มือของคุณสกปรกด้วยของเล่นบางชิ้นแทนที่จะเป็นเพียงปริญญา นักวิทยาศาสตร์คอมพิวเตอร์จำนวนมากทำงานร่วมกับวิศวกรเช่นวิศวกรสื่อสารวิศวกรฝ่ายผลิตเพื่อหาคำตอบที่เป็นเอกลักษณ์ซึ่ง IoT กลายเป็นแอพพลิเคชั่นที่น่าสนใจ

ฉันคิดว่าคุณสามารถเริ่มต้นได้โดยดูที่โปรโตคอลการสื่อสารที่ต่างกันเช่น:

  1. IEEE 802.15.4ซึ่งรวมถึงสาขาเช่นเครือข่ายเซ็นเซอร์ไร้สายและที่รู้จักกันดีZigBee มีลักษณะที่Contiki-OSและRIOT-OS โหนดเซ็นเซอร์เองมีค่าใช้จ่ายเพิ่มขึ้นอีกเล็กน้อย แต่แผนกมหาวิทยาลัยที่อาจทำงานในสาขาอาจให้บริการแก่คุณบ้าง

  2. เครื่องมือที่มีราคาแพงซึ่งฉันขอแนะนำให้คุณเริ่มเข้าใจหากคุณไปถึงสถาบันวิจัยและ / หรืออุตสาหกรรมคือWeightless P , SigFox , LORAWANเป็นต้นสิ่งเหล่านี้จะทำให้คุณมีรายละเอียดเชิงลึกเกี่ยวกับการสื่อสารโทรคมนาคมกองเช่น 3G และ LTE และการมีส่วนร่วมIOTและอุตสาหกรรม 4.0

  3. IoTกำลังก้าวหน้าในด้านสมาร์ทโฮมและระบบอัตโนมัติดังนั้นคุณสามารถดูเครื่องมือเช่นopenHABและOpenThreadและในฐานะนักเรียนวิทยาศาสตร์คอมพิวเตอร์พัฒนา API ที่มีประโยชน์

  4. สุดท้าย แต่ไม่ท้ายสุดอุปกรณ์แพลตฟอร์มโอเพ่นซอร์สใด ๆ เช่น Raspberry Pis และไมโครคอนโทรลเลอร์อื่น ๆ สามารถใช้ร่วมกับโมดูลการสื่อสารไร้สายของเทคโนโลยีที่กล่าวถึงข้างต้นเพื่อสร้างโซลูชัน IoT ที่เรียบง่ายและ / หรือซับซ้อน

เครื่องมือ

ในฐานะที่เป็นนักเทคนิคด้าน IoT ภาษาการเขียนโปรแกรมเช่น C / C ++, Java และ Python จะพาคุณไปไกล การพัฒนาส่วนหน้า, HTML, CSS, JavaScript และ jQuery เป็นต้นจะช่วยให้คุณมีความเข้าใจที่ดีขึ้นในการจัดการประเภทข้อมูลอินเทอร์เน็ตเช่นJSON, XML, ข้อความธรรมดา, CBORฯลฯ และแบ็กเอนด์เช่น Node.js, Flask by Python และRuby on Railsจะช่วยคุณตั้งค่ารุ่นไคลเอ็นต์เซิร์ฟเวอร์ที่ใช้บ่อยที่สุด

Gitและแหล่งเก็บข้อมูลโอเพ่นซอร์สจะช่วยให้คุณก้าวเข้าสู่แอปพลิเคชันและ API ที่หลากหลายที่สามารถใช้สำหรับโครงการที่กำลังจะมาถึงของคุณ

ยิ่งคุณดำน้ำลึกยิ่งทักษะการจัดการเครื่องมือและความเข้าใจใน IoT ของคุณจะยิ่งดีขึ้น


7

IoT ดำเนินขอบเขตของการคำนวณและครอบคลุมเทคโนโลยีการใช้งานและยุทธวิธีที่หลากหลาย สรุปก็คือมันหมายถึงสิ่งต่าง ๆ ที่เชื่อมต่อกับช่อง comms เช่นอินเทอร์เน็ต การทำความเข้าใจว่าสิ่งต่าง ๆ เชื่อมต่อกับสิ่งต่าง ๆ น่าจะเป็นกุญแจสำคัญ: การส่งข้อความการจัดอีเวนต์สตรีม

ฉันจะหยิบอุปกรณ์เล็ก ๆ สองสามตัวไม่สำคัญว่าจะเป็นอะไร แต่วิธีที่ง่ายที่สุดคือ Arduino-based หรือ Pi-based รับบางสิ่งบางอย่างด้วย WiFi หรือบางสิ่งที่สำรองข้อมูลโดยคลาวด์ที่มีอยู่เช่น Photon

ติดเซ็นเซอร์บางอย่างกับมัน อุณหภูมิเป็นตัวอย่างที่ยอมรับได้ เริ่มดูดข้อมูลและจัดเก็บ จากนั้นนำข้อมูลนั้นและวิเคราะห์ วิธีใด ๆ ที่จะทำเช่นนั้น

หากคุณสนใจด้านการวิเคราะห์มากขึ้น (การสื่อสารไม่ใช่เรื่องยากที่นี่ - ห้องสมุดจัดการว่าไม่ว่าจะเป็น WiFi, BT, ZigBee, ... ) จากนั้นก็มีชุดข้อมูลมากมายเช่น NYC turnstile subway data .


7

Internet of Things มีขนาดใหญ่มาก มันไม่เพียง แต่ประกอบด้วยวิทยาการคอมพิวเตอร์ที่อยู่เบื้องหลังเท่านั้น แต่ยังรวมถึงแอปพลิเคชั่นที่ใช้ในครัวเรือนเช่นหน้าแรกของ Google เป็นต้นหากคุณต้องลงขาย

ผมเองขอแนะนำเล็ก ๆ น้อย ๆ :

1. สมัครสมาชิกนิตยสารที่ดี

มีนิตยสารมากมายและบทความล่าสุดที่มีอยู่ซึ่งจะช่วยให้คุณไม่พลาดกับสิ่งที่เกิดขึ้นในโลก IoT นิตยสาร IoT evolutionเป็นนิตยสารที่ฉันอ่านบ่อย อีกหนึ่งข้อมูลทางเทคนิคที่มีค่ามากมายคือนิตยสาร M2M ฉบับนี้

2. รับอุปกรณ์ IoT

สิ่งนี้ไม่ได้มีประโยชน์อะไรสำหรับวิทยาศาสตร์คอมพิวเตอร์ของคุณ แต่มันทำให้คุณคุ้นเคยกับสิ่งที่มีอยู่ ความรู้ทั่วไปในวงกว้างเกี่ยวกับสิ่งที่มีให้อาจเป็นประโยชน์ ลองใช้สวิตช์ IoT สองสามตัวและติดตั้งหรือสร้างอุปกรณ์ IoT ของคุณเองรอบ ๆ บ้าน

เพียงแค่ 2 เซ็นต์ของฉัน (ซึ่งลงที่แคนาดา) แต่หวังว่ามันจะช่วยได้!


1
พื้นหลังที่กว้างนั้นมีประโยชน์อย่างมากแม้ว่าจะช่วยให้คุณสามารถพูดคุยกับผู้เชี่ยวชาญในด้านอื่น ๆ ได้เท่านั้น
Sean Houlihane

3

วิธีที่ดีที่สุดในการเรียนรู้คือทำในกรณีนี้ดำน้ำและออกแบบอุปกรณ์ตั้งแต่ต้นจนจบเพื่อให้เข้าใจถึงกระบวนการและขั้นตอนที่เกี่ยวข้องในการพัฒนา IoT

มันเป็นปัญหาที่คล้ายกันมากกับปัญหาที่คุณพบในสาขาวิศวกรรมซอฟต์แวร์ / การเขียนโปรแกรม - หลักสูตรมหาวิทยาลัยจำนวนมากสอนนักเรียนด้านวิทยาศาสตร์คอมพิวเตอร์เช่นทฤษฎีและแนวคิดที่อยู่เบื้องหลังการพัฒนาซอฟต์แวร์ แต่หลังจากเรียนรู้ 3 หรือ 4 ปีพวกเขาถูกโยนออกไปทั่วโลกเพื่อหางานเขียนโปรแกรมและพวกเขาขาดทักษะการปฏิบัติจริงที่คุณต้องเป็นนักพัฒนาที่ประสบความสำเร็จ

ในอินเดียมีการกล่าวอ้างว่ามีเพียง 7% ของผู้สำเร็จการศึกษาเท่านั้นที่สามารถทำงานในตำแหน่งวิศวกรซอฟต์แวร์ได้เนื่องจาก:

ในขณะที่นักศึกษาวิศวกรรมจำนวนมากในประเทศศึกษาตำราเรียนของพวกเขาให้สอบและรวบรวมองศาของพวกเขาก็ต่อเมื่อพวกเขาพบปัญหาในโลกแห่งความจริงพวกเขาตระหนักถึงความขาดแคลนของพวกเขา จากนั้นพวกเขาจะต้องใช้เวลาเพิ่มเพื่อฝึกฝนทักษะหรือประสบปัญหาการว่างงาน

ฉันแน่ใจว่าคุณสามารถดูขนานที่นี่ถ้าคุณต้องการที่จะลงสนามของ IOT คุณจะต้องสามารถที่จะเข้าใจวิธีการพัฒนาอุปกรณ์และโครงสร้างพื้นฐานที่จำเป็น


อย่างไรก็ตามมีบางสิ่งที่ต้องพิจารณาเมื่อคุณเริ่มสร้างต้นแบบของคุณ:

  • ไม่จำเป็นต้องเป็นการปฏิวัติ - ในฐานะโครงการเรียนรู้ไม่มีอะไรผิดปกติกับการทำสิ่งที่ง่าย บิตที่สำคัญที่นี่คือการมีทำได้เป้าหมายที่เฉพาะเจาะจง

  • เมื่อคุณมีเป้าหมายของคุณแบ่งงานออกเป็นขั้นตอน มันจะยาก ; ถ้ามันเป็นโครงการแรกของคุณคุณจะรู้สึกเสียไปเล็กน้อย สิ่งสำคัญที่นี่คือการ ...

  • มีกลุ่มคนที่สามารถช่วยคุณได้ หากคุณอยู่ในสถาบันการศึกษาคุณจะโชคดี - มีผู้คนที่หลงใหลและมีความรู้มากมาย เกือบแน่ใจว่าพวกเขาจะสนใจและต้องการช่วยคุณ ท้ายที่สุดทุกคนควรเป็นของพวกเขาเพราะวิทยาการคอมพิวเตอร์คือความหลงใหล

หากคุณไม่พบใครที่สามารถช่วยเหลือได้มีเว็บไซต์สำหรับผู้ที่ชื่นชอบผู้เชี่ยวชาญและผู้ใช้ระดับสูงที่สามารถให้คำแนะนำกับคุณได้เสมอ!


3

ฉันขอแนะนำให้ทำโครงการของคุณเอง

ฉันพบว่าหนังสือ Derek Molloy ของExploring BeagleBoneนั้นดีมาก

จากนั้นคุณสามารถทำสิ่งต่อไปนี้

  • รับ Beaglebone Black
  • ทำทุกโครงการในหนังสือของ Derek (แนะนำให้รู้จักกับอุปกรณ์อิเล็กทรอนิกส์และเซ็นเซอร์สำหรับ IoT)
  • ขยายโครงการ
  • เผยแพร่โครงการของคุณใน GitHub หรือ Bitbucket

เมื่อคุณไปสัมภาษณ์คุณสามารถพูดคุยเกี่ยวกับโครงการ IoT ที่คุณทำ พูดถึงว่าขณะนี้ทำงานอยู่และอยู่บน GitHub หากนายจ้างต้องการหาข้อมูลเพิ่มเติม

นั่นแสดงให้เห็นว่านายจ้างที่คุณสนใจอย่างแท้จริงใน IoT มีความสามารถในสาขาและเป็นจุดพูดคุยที่ดีสำหรับการสัมภาษณ์


2

หากคุณไม่ได้สร้างแอพพลิเคชั่นของแอพพลิเคชั่นแบบฝังตัวคุณจะอยู่เบื้องหลังเพื่อนร่วมงานที่มีประสบการณ์มากกว่าของคุณ เห็นได้ชัดว่าคุณจะถูก จำกัด โดยสาขาที่คุณเลือก แต่ควรจะมีประสบการณ์จริงกับสแต็คทั้งหมด - เซ็นเซอร์เพื่อคุณค่าคุณค่า สิ่งที่มีค่าที่สุดในขั้นตอนนี้คือการค้นหาปัญหามากกว่าผลลัพธ์ที่ดี


2

ขั้นตอนที่ 1: หยุดใช้เวลาในการเล่นวิดีโอเกม

ขั้นตอนที่ 2: เริ่มโครงการง่ายๆและใช้ประโยชน์จาก Google ได้อย่างแท้จริง แบ่งแต่ละส่วนของโครงการเป็นบิตที่เล็กลงและจัดการได้มากขึ้น แก้ไขปัญหาทีละปัญหาจากนั้นดำเนินการต่อไปจนกว่าโครงการของคุณจะเสร็จสมบูรณ์

คุณจะได้เรียนรู้บทเรียนที่มีค่าตามวิธีที่คุณสามารถใช้ในโครงการอื่นที่ซับซ้อนกว่า

ตัวอย่างเช่นปัจจุบันฉันกำลังทำงานบนแผงโซล่าร์ติดตามดวงอาทิตย์อัตโนมัติที่บันทึกการชาร์จและข้อมูลแบตเตอรี่ไปยังแผงควบคุมออนไลน์ สิ่งแรกที่ฉันต้องทำคือหาวิธีที่จะทำให้ไฟกระพริบนำบน ESP8266 โดยใช้ Arduino IDE จากนั้นฉันต้องคิดว่าฉันจะอ่านค่าแสงและแรงดันด้วยและอินพุตอะนาล็อกได้อย่างไร แต่ละขั้นตอนใช้เวลาทุกชั่วโมงในการค้นหา แต่จนถึงตอนนี้ฉันได้เรียนรู้เกี่ยวกับอุปกรณ์อิเล็กทรอนิกส์และวิธีการที่โค้ดที่ฉันเขียนโต้ตอบกับส่วนประกอบแต่ละอย่าง

แน่นอนว่าแนวคิดสำหรับโครงการของคุณจะต้องเป็นสิ่งที่คุณรู้สึกหลงใหลมากพอที่จะทำให้โครงการสำเร็จลุล่วง

สิ่งสำคัญที่ฉันมักจะพบคือถ้าฉันสนุกกับมันยิ่งฉันอยากทำ แต่จริงๆแล้วมีไม่มากเกี่ยวกับ IoT ที่ไม่สนุก!


1

ฉันเคยเป็นคอมพิวเตอร์ Geek ความพินาศของฉันเป็นคณิตศาสตร์เพราะความยากลำบากในการเรียนรู้คณิตศาสตร์ขั้นพื้นฐานของฉันอยู่ในระดับนักเรียนชั้นรับและมันจะเป็นเสมอ

วิธีที่ฉันเรียนรู้เกี่ยวกับคอมพิวเตอร์การทดลอง youtube การลองผิดลองถูกและความอดทน

90% ของคอมพิวเตอร์มีความอดทนและอีก 10% เป็นการทำซ้ำ

หากคุณมีความสนใจในคอมพิวเตอร์ให้เลี้ยงดูมันและเลี้ยงดูเหมือนลูกของคุณเอง ความสนใจของคุณจะขอบคุณหนึ่งวัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.