Là một sinh viên Khoa học Máy tính, làm thế nào tôi có thể phát triển các kỹ năng cho một công việc IoT ngoài giáo dục chính quy?


25

Để làm tốt trong lĩnh vực liên quan đến Khoa học máy tính, một sinh viên đại học phải làm nhiều hơn là chỉ cần có bằng cấp, họ phải vượt lên trên để có thể cạnh tranh với những người khác trong lĩnh vực này.

Là một sinh viên CS, tôi tương đối thoải mái với khía cạnh phần mềm của IoT, nhưng ít hài lòng hơn với khía cạnh điện tử và cấu trúc chung của một cảm biến / thiết bị hỗ trợ Internet.

Về mặt IoT, tôi có thể làm gì để phát triển kỹ năng của mình? Đặc biệt, tôi quan tâm đến những điều có thể không được dạy ở trường đại học cho khóa học CS của tôi, để giúp tôi trong tương lai có được việc làm hoặc tiến bộ trong lĩnh vực này.


3
Bạn có thể làm bất kỳ nhiệm vụ liên quan đến IoT ở trường đại học? Mua một vài Raspberry Pi Zero W (hoặc tương tự, nhưng đó là rẻ nhất), một dự án nghĩ ra. Có thể có được một chiếc mũ cảm biến; không thành công, hãy tìm API JSON miễn phí sẽ cung cấp dữ liệu cho bạn và xuất bản dữ liệu lên trang web. Sau đó làm việc theo cách của bạn lên. Nhìn vào Zigbee và MQTT . Xuất bản một vài dự án GitHub hoặc trang web mà bạn có thể hiển thị cho mọi người. Có thể tham gia vào một dự án FOSS lớn hơn, hiện có. Bắt đầu nhỏ, làm theo cách của bạn, thêm độ phức tạp và làm cho nó hiển thị, sau đó thêm nó vào CV của bạn.
Mawg

FWIW, tôi thấy rất nhiều cơ hội việc làm của Zigbee, nhưng cho đến nay không có MQTT, nhưng tôi vẫn sẽ xem xét MQTT nếu tôi là bạn.
Mawg

Câu trả lời:


16

Tôi đã từng là một gia sư đại học trong một bộ phận hiện đang dạy IoT và những quan sát của bạn là đúng khi nói đến việc làm bẩn tay với một số đồ chơi thay vì chỉ bằng cấp. Rất nhiều nhà khoa học máy tính hợp tác với các kỹ sư như kỹ sư truyền thông, kỹ sư sản xuất để đưa ra các giải pháp độc đáo trong đó IoT trở thành một ứng dụng thú vị.

Tôi nghĩ bạn có thể bắt đầu bằng cách xem xét các ngăn giao thức truyền thông khác nhau như:

  1. IEEE 802.15.4 bao gồm các trường như mạng cảm biến không dâyZigBee nổi tiếng . Hãy xem Contiki-OSRIOT-OS . Các nút cảm biến tự chi phí cao hơn một chút, nhưng một bộ phận trường đại học có thể hoạt động trong lĩnh vực này có thể cung cấp cho bạn một số để chơi xung quanh.

  2. Các công cụ đắt tiền, tôi khuyên bạn có thể bắt đầu hiểu nếu bạn tiếp cận với một viện nghiên cứu và / hoặc ngành là Trọng lượng P , SigFox , LORAWAN , v.v. Những thứ này sẽ cung cấp cho bạn thông tin chi tiết về viễn thông, các ngăn xếp như 3G và LTE và sự tham gia của họ vào IoTCông nghiệp 4.0 .

  3. IoT đang phát triển trong lĩnh vực nhà thông minh và tự động hóa , vì vậy bạn có thể xem các công cụ như openHABOpenThread và khi một sinh viên khoa học máy tính phát triển các API hữu ích.

  4. Cuối cùng, nhưng không kém phần quan trọng, bất kỳ loại thiết bị nền tảng nguồn mở nào như Raspberry Pis và các bộ vi điều khiển khác đều có thể được sử dụng cùng với các mô-đun giao tiếp không dây của các công nghệ được đề cập ở trên để đưa ra các giải pháp IoT đơn giản và / hoặc phức tạp.

Công cụ

Là một anh chàng công nghệ IoT, các ngôn ngữ lập trình như C / C ++, Java và Python sẽ đưa bạn đi một chặng đường dài. Phát triển Frontend, HTML, CSS, JavaScript và jQuery, v.v. sẽ giúp bạn hiểu rõ hơn về việc xử lý các kiểu dữ liệu Internet như JSON, XML, văn bản đơn giản, CBOR , v.v. và phụ trợ như Node.js, Flask by Python và Ruby on Rails sẽ giúp bạn thiết lập các mô hình máy khách được sử dụng thường xuyên nhất.

Các kho lưu trữ Git và nguồn mở sẽ cung cấp cho bạn một bước nhảy vọt vào các ứng dụng và các API khác nhau có thể được sử dụng cho các dự án sắp tới của bạn.

Bạn càng lặn sâu, kỹ năng xử lý công cụ và hiểu biết về IoT của bạn sẽ càng tốt hơn.


7

IoT vận hành toàn bộ điện toán và bao quát một loạt các công nghệ, triển khai và chiến thuật khổng lồ. Tóm lại, nó chỉ có nghĩa là mọi thứ được kết nối với một kênh comms, ví dụ, internet. Hiểu cách mọi thứ kết nối với mọi thứ có lẽ là chìa khóa: nhắn tin, sự kiện, luồng.

Tôi đã lấy một vài thiết bị nhỏ, không quan trọng chúng là gì, nhưng dễ nhất là dựa trên Arduino hoặc dựa trên Pi. Nhận thứ gì đó có WiFi hoặc thứ gì đó được hỗ trợ bởi đám mây hiện có, ví dụ: Photon.

Dán một số cảm biến trên đó. Nhiệt độ là ví dụ điển hình. Bắt đầu hút dữ liệu và lưu trữ nó. Sau đó lấy dữ liệu đó và phân tích nó; bất kỳ số cách để làm điều đó.

Nếu bạn quan tâm nhiều hơn đến khía cạnh phân tích (giao tiếp không thực sự là điều khó khăn ở đây - các thư viện xử lý xem đó có phải là WiFi, BT, ZigBee, ...) hay không, có rất nhiều bộ dữ liệu, ví dụ: dữ liệu quay vòng tàu điện ngầm NYC .


7

Internet của vạn vật là rất lớn. Nó không chỉ bao gồm khoa học máy tính đằng sau nó, mà còn bao gồm các ứng dụng gia đình như Google Home, v.v. Nếu bạn kết thúc việc bán hàng, biết một số thứ về các thiết bị có sẵn có thể hữu ích.

Cá nhân tôi khuyên bạn nên một vài điều:

1. Theo dõi các tạp chí tốt.

Có rất nhiều tạp chí và các bài báo cập nhật có sẵn trên mạng sẽ giúp bạn đồng bộ với những gì đang xảy ra trong thế giới IoT; Tạp chí tiến hóa IoT là một tạp chí mà tôi thường xuyên đọc. Một số khác có nhiều thông tin kỹ thuật có giá trị là tạp chí M2M này .

2. Nhận một số thiết bị IoT.

Điều này không làm được gì nhiều cho khoa học máy tính của bạn, nhưng nó giúp bạn làm quen với những gì có sẵn. Tùy thuộc vào lĩnh vực bạn làm việc trong một kiến ​​thức tổng quát rộng rãi về những gì có sẵn có thể hữu ích. Cân nhắc việc nhận một vài thiết bị chuyển mạch IoT và cài đặt, hoặc thậm chí tạo các thiết bị IoT của riêng bạn xung quanh nhà.

Chỉ cần 2 xu của tôi (làm tròn số ở Canada), nhưng hy vọng nó có ích!


1
Nền rộng rất hữu ích - ngay cả khi nó chỉ giúp bạn nói chuyện với các chuyên gia trong các lĩnh vực khác.
Sean Houlihane

3

Như các câu trả lời khác đã nêu, cách tốt nhất để học là bằng cách thực hiện trường hợp này, tìm hiểu và thiết kế một thiết bị từ đầu đến cuối để cảm nhận về các quy trình và các bước liên quan đến phát triển IoT.

Đây là một vấn đề rất giống với vấn đề mà bạn gặp phải trong công nghệ / lập trình phần mềm, rất nhiều khóa học Đại học dạy cho sinh viên của họ về khoa học máy tính , tức là lý thuyết và khái niệm đằng sau sự phát triển phần mềm. Nhưng, sau 3 hoặc 4 năm học hỏi, họ đã tung ra thế giới để tìm một công việc lập trình và họ thiếu những kỹ năng thực tế thực tế mà bạn cần để trở thành một nhà phát triển thành công.

Ở Ấn Độ, có những tuyên bố rằng chỉ có 7% sinh viên tốt nghiệp thực sự có thể làm việc như một kỹ sư phần mềm, bởi vì:

Trong khi số lượng lớn sinh viên kỹ thuật trong nước học sách giáo khoa, làm bài kiểm tra và thu thập bằng cấp của họ, chỉ đến khi họ gặp phải những vấn đề trong thế giới thực, họ mới nhận ra sự thiếu hụt của mình. Đến lúc đó, họ phải mất thêm thời gian để tự rèn luyện kỹ năng hoặc chịu thất nghiệp.

Tôi chắc chắn bạn có thể thấy song song ở đây nếu bạn muốn tham gia vào lĩnh vực IoT, bạn cần có khả năng hiểu cách phát triển một thiết bị và cơ sở hạ tầng cần thiết .


Tuy nhiên, một số điều cần xem xét khi bạn bắt đầu tạo nguyên mẫu:

  • Nó không cần phải là một cuộc cách mạng như một dự án học tập, không có gì sai khi làm điều gì đó đơn giản. Chìa khóa ở đây là để có một mục tiêu cụ thể, có thể đạt được .

  • Một khi bạn có mục tiêu của mình, hãy chia nhiệm vụ thành các bước . Nó sẽ khó khăn ; nếu đó là dự án đầu tiên của bạn, bạn chắc chắn sẽ cảm thấy hơi lạc lõng. Điều quan trọng ở đây là ...

  • Có một nhóm người có thể giúp bạn. Nếu bạn ở một cơ sở giáo dục, bạn sẽ gặp may mắn, sẽ có vô số người đam mê, hiểu biết. Gần như chắc chắn rằng họ sẽ quan tâm và muốn giúp bạn; Rốt cuộc, mọi người nên là của họ vì Khoa học máy tính là niềm đam mê của họ!

Nếu bạn không thể tìm thấy bất cứ ai có thể giúp đỡ, luôn có các trang web dành cho những người đam mê, chuyên gia và người dùng quyền lực có thể cung cấp cho bạn một số đề xuất!


3

Tôi sẽ đề nghị làm dự án của riêng bạn.

Tôi thấy cuốn sách Khám phá BeagleBone của Derek Molloy rất hay.

Sau đó bạn có thể làm như sau

  • Nhận một Beaglebone Black
  • Thực hiện tất cả các dự án trong cuốn sách của Derek, (một phần giới thiệu tốt về điện tử và cảm biến cho IoT)
  • Mở rộng một dự án
  • Xuất bản dự án của bạn trên GitHub hoặc Bitbucket

Khi bạn đi phỏng vấn, bây giờ bạn có thể nói về dự án IoT mà bạn đã làm. Đề cập rằng nó hiện đang chạy trực tiếp và nó có trên GitHub nếu nhà tuyển dụng muốn tìm hiểu thêm.

Điều đó cho thấy một nhà tuyển dụng rằng bạn thực sự quan tâm đến IoT, có năng lực trong lĩnh vực này và là một điểm tuyệt vời cho một cuộc phỏng vấn.


2

Nếu bạn chưa xây dựng triển khai một ứng dụng nhúng, bạn sẽ đứng sau các đồng nghiệp có kinh nghiệm hơn. Rõ ràng bạn sẽ bị giới hạn bởi lĩnh vực bạn chọn, nhưng lý tưởng nhất là bạn nên có kinh nghiệm thực tế với toàn bộ ngăn xếp - cảm biến cho đề xuất giá trị. Điều có giá trị nhất ở giai đoạn này là tìm ra vấn đề, thay vì kết quả tốt.


2

Bước 1: Ngừng dành quá nhiều thời gian để chơi trò chơi video

Bước 2: Bắt đầu một dự án đơn giản và thực sự tìm kiếm Google tốt. Chia mỗi phần của dự án thành các bit nhỏ hơn, dễ quản lý hơn. Giải quyết từng vấn đề một, sau đó chuyển sang vấn đề tiếp theo cho đến khi dự án của bạn hoàn tất.

Bạn sẽ học được những bài học quý giá trên đường mà sau đó bạn có thể sử dụng trong các dự án phức tạp hơn khác.

Ví dụ: tôi hiện đang làm việc trên bảng điều khiển năng lượng mặt trời tự động theo dõi mặt trời để ghi dữ liệu sạc và pin vào bảng điều khiển trực tuyến. Điều đầu tiên tôi phải làm là tìm ra cách làm cho đèn led nhấp nháy trên một chiếc ESP8266 bằng Arduino IDE. Sau đó, tôi đã phải tìm ra làm thế nào tôi sẽ có được đọc ánh sáng và điện áp với và đầu vào tương tự. Mỗi bước mất từ ​​một giờ đến vài ngày để tìm ra, nhưng cho đến nay tôi đã học được nhiều về điện tử và cách mã tôi viết tương tác với từng thành phần.

Tất nhiên ý tưởng cho dự án của bạn phải là một cái gì đó mà bạn cảm thấy đủ đam mê để thấy nó hoàn thành.

Điều chính tôi luôn thấy là nếu tôi vui vẻ với nó, tôi càng muốn làm điều đó. Nhưng thực sự, không có nhiều điều về IoT không thú vị!


1

Tôi từng là một Geek máy tính, sự thất bại của tôi là toán học, vì những khó khăn trong học tập, toán học cơ bản của tôi ở cấp độ của một sinh viên lớp tiếp nhận, và nó sẽ luôn như vậy.

Cách tôi học về máy tính, thử nghiệm, youtube, dùng thử và lỗi, kiên nhẫn.

90% máy tính là sự kiên nhẫn và 10% còn lại là sự lặp lại.

Nếu bạn có hứng thú với máy tính, hãy nuôi dưỡng nó và nuôi dạy nó như con của bạn. Sự quan tâm của bạn sẽ cảm ơn bạn một ngày.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.