Переписать под ардуино нано - код управ-я шаром-роботом(python, java)
Приветствую всех!
Задача довольно необычная и интересная:
Существует такая управляемая по bluetooth со смартфона игрушка - sphero mini - шарообразный радиоуправляемый робот.
Энтузиасты провели реверс-инжиниринг и существуют готовые библиотеки: python, а также готовые решения на java(исходный код приложения под андроид) и готовый скетч под ардуино (arduino mega 2560).
Что нужно в конечном итоге:
1. Создать работающий скетч под ардуино нано, который позволит управлять с помощью ардуино, подключенной к интернету, - этим роботом с вебсайта (проект некоммерческий -для себя пилим -футбол роботами :-) );
2. Написать веб интерфейс(или собрать из существующих и т.д. и.т. п.-потом дам подробное описание логики. Она несложная), который позволит подключаться к роботам и управлять ими. А также -будет пересылать видео с идущей игры -на youtube (2 камеры).
Что представляет собой железо для управления:
а) ардуино нано(поключенная к USB, то бишь COM-порту);
б) bluetooth - модуль: https://amperkot.ru/msk/catalog/bluetooth_modul_jdy08_40ble_s_podderzhkoy_airsync_ibeacon_chip_cc2541-24304228.html) (есть некоторые сомнения, что он сможет управлять сторонними BLE устройствами, хотя в документации написано, что может).
Что есть из готовых программных продуктов:
1. Официальный API производителя (подробное описание структуры данных и много другое, но, как сам производитель пишет-это для несколько другого робота, и дал на форуме описание, в чем отличие опубликованного API, от того-что нужен для sphero mini): https://sdk.sphero.com/docs/api_spec/general_api/?_ga=2.105302083.1500678916.1585583791-335173500.1585583791
2. Различные работы энтузиастов:
а) Python:
https://github.com/stefania11/sphero_mini
https://github.com/igbopie/spherov2.js/tree/master/lib
https://github.com/EnotYoyo/pysphero
https://github.com/MProx/Sphero_mini
б) Приложение под андроид:
https://github.com/raidzero/SpheroMiniDrive
в) Скетч под ардуино 2560:
https://github.com/cmonr/Arduino-Sphero-Library
Чем я могу помочь в работе?
Дело в том, что я умею программировать под ардуино, изучаю java.
И поэтому являюсь "не совсем ламером" :-) и, думаю, смогу сходу ответить на нужные вопросы и,
в целом, помочь чем могу в разработке: изменить где то переменную в скетче, протестировать, где то что то подключить и т.д.
Поэтому можете не опасаться того, что будет сложно, потому что "на том конце вас не понимают в элементарном".
Единственно что - моих знаний может не хватить для каких то вещей, именно поэтому-я и создал проект здесь,
так как не уверен, что смогу сам.
Внимательно рассмотрю все предложения!
Если не можете сделать все, а можете какую то часть- тоже пишите, обсудим! ;-)
Общая схема работы системы представляется такой (как на приложенной ниже схеме).