Тёмный

STM32 GSM модем M590 прием-передача по USART 

ElectroHobby
Подписаться 30 тыс.
Просмотров 26 тыс.
50% 1

программирование stm32.Сигнализация на базе GSM модема NEOWAY M590.Отправляем и принимаем данные через USART.
ПРОДОЛЖЕНИЕ ВИДЕО • STM32 и GSM модем NEOW...
ПРОЕКТ ЗДЕСЬ drive.google.c...
То что я использую или использовал в своих видео :
STM32F103C8T6 отладочная плата alipromo.com/re...
STM8 отладочная плата alipromo.com/re...
ESP8266 отладочная плата alipromo.com/re...
Программатор STM32&STM8 alipromo.com/re...
Логический анализатор alipromo.com/re...
Проводки для логического анализатора alipromo.com/re...
NEOWAY M590 GSM\GPRS модуль alipromo.com/re...
Блютуз модуль alipromo.com/re...
Дисплей ST7735S alipromo.com/re...
Проводки alipromo.com/re...
Датчик движения alipromo.com/re...
BME280 крутой датчик alipromo.com/re...
DC-DC step-down alipromo.com/re...
Бумага для ЛУТ alipromo.com/re...

Опубликовано:

 

11 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 78   
@rommstain
@rommstain 7 лет назад
Спасибо! Реально проделана большая работа, и она будет полезна многим. +!
@ElectroHobby1
@ElectroHobby1 7 лет назад
Пожалуйста..
@rommstain
@rommstain 7 лет назад
Хочу сделать на этой базе нечто вроде контроля за домом. Прикрутить OLED, GSM и STM32 с датчиками температуры, движения, протечки. Идея такая что пока я дома можно за температурой и протечкой следить визуально по ОЛЕД дисплею. А когда ушел на работу или по делам, нажал кнопочку и параметры будут поступать ко мне на мобильник по моему запросу. Конечно можно купить уже готовое изделие, но это не интересно. Для этого выписал STM32F103CBT6, так как опасаюсь что на STM32F103C8T6 памяти может не хватить. И вот как раз ваш пример работы с GSM очень полезен и нужен. Ещё раз благодарю!
@urichaplin1424
@urichaplin1424 6 лет назад
В названии нужно написать что вы используете контроллер STM32 с GSM модемом M590. и выкиньте вашу пайку ( это никому не интересно)
@ElectroHobby1
@ElectroHobby1 6 лет назад
Я подумаю.
@user-kn8ri1qj8b
@user-kn8ri1qj8b 6 лет назад
Проект можно только на гугле скачать или он еще где-нибудь есть? А то стараниями РКН доступ к некоторым ресурсам в последнее время ограничен
@Eurodaiver
@Eurodaiver 8 лет назад
Делаю тоже самое только на модеме от simcom. Лучше при создании сигналки проект сразу во freeRTOS запиливать - проще расширять потом. Контроль датчиков и и п
@ElectroHobby1
@ElectroHobby1 8 лет назад
до RTOS не дорос еще.Он дороже будет но AT+GSMBUSY пригодилась бы). Вырубает что все в настройки все-таки занести нельзя это не проблема но все-же.Как у simcom?
@ElectroHobby1
@ElectroHobby1 8 лет назад
Какой мк использовал?
@Eurodaiver
@Eurodaiver 8 лет назад
+ElectroHobby (BARYS ILKAVETS) эта же плата с f103c8t6
@Eurodaiver
@Eurodaiver 8 лет назад
+ElectroHobby (BARYS ILKAVETS) у simcom также через at команды управление, причем большинство совпадает. Рекомендую сразу сделать проброс на виртуальный com порт через штатный usb на этой плате. И мониторить через консоль все ответы от модуля
@ElectroHobby1
@ElectroHobby1 8 лет назад
Твой проект на HAL или StdPeriph ?Управление по смс делал?
@itlikekz
@itlikekz 7 лет назад
Добрый день. Как идея: может по пробуйте привязать к ардуино usb modem (какой нибудь Huawei или ZTE). Просто usb модем у каждого без дела лежат и они на 5 вольт
@user-hc1qe1xh7s
@user-hc1qe1xh7s 6 лет назад
Спасибо за видео. Учусь работать с МК. Скажите, где заполняется буффер reciveBuffer ? Весь код посмотрел - не нашел ))
@ElectroHobby1
@ElectroHobby1 6 лет назад
Вы вызывается к примеру функция HAL_UART_Receive_IT(&huart1,(uint8_t*)reciveBuffer,72); ей передается указатель на буфер (uint8_t*)reciveBuffer и кол-во символов для приема.Как только возникает прерывание по приему вызовется в файле stm32f1xx_it.c void USART1_IRQHandler(void){ /* USER CODE BEGIN USART1_IRQn 0 */ /* USER CODE END USART1_IRQn 0 */ HAL_UART_IRQHandler(&huart1); /* USER CODE BEGIN USART1_IRQn 1 */ /* USER CODE END USART1_IRQn 1 */ } от сюда вызовется обработчик прерывания HAL_UART_IRQHandler(&huart1); и так далее по списку .Короче это все HAL функции я их не писал, а всего лишь сказал, что мне нужно заполнить буфер длинною в 72 байта и она это сделает автоматом.
@user-hc1qe1xh7s
@user-hc1qe1xh7s 6 лет назад
Ясно. Спасибо. Еще два момента: кусок кода - else if(buttonCounter>1000){ status = 4;//alarm step=9; Зачем считать buttonCounte? Это такой антидребезг? И последнее. Как работает эта строка подробнее if ((HAL_GetTick()-previousCount2)>delay_ms2). Спасибо.
@ElectroHobby1
@ElectroHobby1 6 лет назад
то такой антидребезг? да if ((HAL_GetTick()-previousCount2)>delay_ms2). HAL_GetTick()- возвращает текущее время в миллисекундах с момента включения.previousCount2- время последнего выполнения участка кода.delay_ms2-заданное время.СУТЬ Выполнять то что относится к IF через заданное время.
@arduinofaiz1876
@arduinofaiz1876 7 лет назад
Здравствуйте Уважаемый . Сделайте пожалуйста сигнализацию на модуле Sim900E чтобы при срабатывание датчика движение было отправлено смс на телефон, при срабатывание датчика движение чтобы приходило смс "Обнаружено движение" а при повторном движение чтобы смс приходило "Внимание постороний на объекте" Датчик движение соединяется к модулю NRF24L01 без ардуино а модуль NRF24L01 отправляет сигнал на ардуино где тоже есть такой модуль NRF24L01 который будет принимать сигналы с датчиков и на ардуино стоит модуль который будет отправлять смс на телефон Sim900E. И сделайте пожалуйста чтоб таких датчиков движение можно было-бы сделать много, дапустим для всего дома в каждой комнате, Спасибо Вам!
@ElectroHobby1
@ElectroHobby1 7 лет назад
Да разницы особо нет и для SIM900.Связка с NRF делалась уже обзора не было, могу поделится.
@arduinofaiz1876
@arduinofaiz1876 7 лет назад
да , сделайте пожалуйста обзор
@user-ti1ly4sq2j
@user-ti1ly4sq2j 5 лет назад
Работа хорошая. Но изложение... Пайку хотя бы уберите. Если не хотите возиться с инфографикой в цифровом виде, то возьмите лист бумаги и карандаш, обрисуйте основные моменты по схеме, алгоритму работы. О качестве контента нужно думать, и не в последнюю очередь. Тут, это важно.
@andrewtitoff6167
@andrewtitoff6167 10 месяцев назад
У меня почему-то как только в HAL_UART_Receive_IT ставлю размер буфера больше единицы - то всё зависает (
@mind_v
@mind_v 8 лет назад
Неприятная и громкая музыка в момент пайки. Не видно выводы на плате из за пересвета от монитора..
@ElectroHobby1
@ElectroHobby1 8 лет назад
Ну уже не исправишь (
@mind_v
@mind_v 8 лет назад
Звук точно можно :)
@ElectroHobby1
@ElectroHobby1 8 лет назад
ВЫКЛЮЧИТЬ)
@MasterSergias
@MasterSergias 7 лет назад
ага когбудто там происходит что невероятное )
@jugnu361
@jugnu361 4 года назад
WELL DONE
@ElectroHobby1
@ElectroHobby1 4 года назад
Thanks.
@truongpham7279
@truongpham7279 3 года назад
Nice tutorial! Is it same with module SIM800A?
@ElectroHobby1
@ElectroHobby1 3 года назад
No.
@ИльшатАминов-ы2ц
купи на алиэкспресс rma 218 банка 500 рублей зато грязных следов от флюса не будет да и в целом удобнее в шпритц заправляешь 100 грамм хватит на очень долго
@ElectroHobby1
@ElectroHobby1 8 лет назад
есть у меня RMA223 но использую при пайке феном.
@Rasman9029
@Rasman9029 7 лет назад
доброго времени. Что то я не понял про подключение к ПК? От модема идет на преобразователь, а от преобразователя как в микруху? Получается ПК отправляет обратно то, что получил?
@ElectroHobby1
@ElectroHobby1 7 лет назад
Хочешь с ПК управлять?
@Rasman9029
@Rasman9029 7 лет назад
ElectroHobby нет, обмениваться МК с с модемом, а то что летит туда сюда мониторить в ПК
@RoxReview
@RoxReview 7 лет назад
Почему массивы отправляемых на модем команд объявлены как uint8_t, а массивы ответов от модема уже char ?
@ElectroHobby1
@ElectroHobby1 7 лет назад
чтобы не приводить к uint8_t при отправке команд.Сейчас делаю новый проект на модеме сделал все команды const char .
@truptisorate4040
@truptisorate4040 5 лет назад
Hii....i used your file.i made changes in uint8_t numberToDial[ ]="ATD;" uint8_t phoneNumber[ ]="AT+CMGS=\"" char strTelNumber [ ]="91" But i only get ok response in recivebuffer other things is not working.please help
@ElectroHobby1
@ElectroHobby1 5 лет назад
A piece of code I'm talking about: if(strcmp(OK, reciveBuffer)==0) { step++; error=0; }//If the answer is correct? else error++;//Wrong answer What does the variable "step" and "error" show?
@ElectroHobby1
@ElectroHobby1 5 лет назад
You can also disconnect the TX line in the modem to check and connect it to the USART receiver.Run the program on your computer like CoolTerm,PUTTY,ARDUINO....At baud rate of 9600.On the microcontroller uncomment the following lines HAL_Delay(2000); HAL_UART_Transmit_IT(&huart1,enableNumberId,11);//включаем АОН HAL_Delay(1000); HAL_UART_Transmit_IT(&huart1,smsSendModeCommon,11);//режим отправки смс HAL_Delay(1000); HAL_UART_Transmit_IT(&huart1,textEncodingANSI,15);//кодировка текста HAL_Delay(1000); HAL_UART_Transmit_IT(&huart1,phoneNumber,19);//отправляем номер HAL_Delay(1000); HAL_UART_Transmit_IT(&huart1,sendText,6); //и текст HAL_Delay(7000); HAL_UART_Transmit_IT(&huart1,numberToDial,13);//звонок Compile and run the program.
@user-hc1qe1xh7s
@user-hc1qe1xh7s 5 лет назад
У меня модуль SIM800L. Помогите разобраться с командами. При отправке смс на модуль в программе “терминал” появляется строка +CMTI: "SM",1 Как мне “поймать ” именно смс , а не звонок, например. В этом примере 13 знаков. Поясню. +CMTI: "SM",1 это 13 знаков. Я должен буду написать HAL_UART_Receive_IT(&huart3,(uint8_t*)reseiveBuffer,13); Но, ведь может придти и другое сообщение. Например RING. Как мне поймать именно +CMTI: "SM",1 ?
@ElectroHobby1
@ElectroHobby1 5 лет назад
Принимать по байту до перехода на новую строку или до того чем заканчивается сообщение от модуля.Из байтов собирать строку.Дальше сравнивать эту строку с двумя вариантами "звонок" либо "СМС"
@user-hc1qe1xh7s
@user-hc1qe1xh7s 5 лет назад
@@ElectroHobby1 Спасибо. Не подскажете как это сделать? Ведь прерывание от HAL_UART_Receive_IT произойдет, когда наберется указанное количество байт в нем. А если байт будет меньше? Например RING меньше чем +CMTI: "SM",1 .
@user-du1gh2wf1v
@user-du1gh2wf1v 7 лет назад
модуль на 3,3 в, а ардуино 5 в уровень, как согласовано?
@ElectroHobby1
@ElectroHobby1 7 лет назад
так у меня же не арудино !
@Aurumss
@Aurumss 8 лет назад
вот бы скетч )))))))
@ElectroHobby1
@ElectroHobby1 8 лет назад
Да мне не жалко .Это первая часть есть уже вторая интересней вот ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-3fpKSR6BYWw.html .И это не конец так демонстрация возможностей.В планах сделать что-то законченное отлаженное и готовое к повторению(Сигнализация активация по звонку с телефона контроль датчиков и уведомление по смс в принципе все работает судя по второму видео но код желает лучшего ну и в коробку все засунуть настроить обмен с датчиками). Просто пока работаю над другим проектом. Если нет сил ждать выложу))?
@Aurumss
@Aurumss 8 лет назад
да было бы просто супер !))) просто вы в незнакомой мне среде работаете ,это слишком профильно и мне незнакомо )) так-ка я столкнулся с трудностями в программирование... Скетчей куча ,но все не то ... А вот постановка под охрану звонком или чипом )))) Если интересно могу несколько идей подкинуть ,что бы полностью скопировать сигнализацию )))) Да и вообще есть очень очень много идей !)
@ElectroHobby1
@ElectroHobby1 8 лет назад
На днях постараюсь выложить.
@ElectroHobby1
@ElectroHobby1 8 лет назад
Да, у меня нет цели навариваться или пустить в производство.Просто брат попросил сделать сигнализацию я сказал OK.Среда KEIL + STM32CUBE
@Aurumss
@Aurumss 8 лет назад
+ElectroHobby (BARYS ILKAVETS) тут оказывается мы земляки ))) Я тоже из Пинска )))))
@1234thrashmetal
@1234thrashmetal 7 лет назад
wena ruso qlio, salvaooo
@elblog7735
@elblog7735 8 лет назад
Зачем изобретать велосипед. В Белоруссии за пиво можно у инженера-электрика в любом РАЙПО или на барахолках купить заводские охранные приборы. Сейчас происходит переход на оптику а те которые работали по телефонной линии просто снимаются с эксплуатации. Например А6-02 или аларм 4; аларм5/4 ; аларм5... Это законченное изделие с резервным питанием ключом доступа и т.д. А6 программируется с помощью такого: ru.aliexpress.com/item/USB-To-UART-TTL-RS232-PL2303HX-Wire-Module-Adapter-Converter-Cable/1973636734.html?spm=2114.30010708.3.100.TeOIhL&ws_ab_test=searchweb0_0,searchweb201602_5_10039_10056_10065_10055_10068_10054_10069_10059_10073_10017_10070_10060_10061_10052_10062_10053_10050_10051,searchweb201603_4&btsid=ece39bbb-8f56-40ee-9cc3-f00cee1b4a2d программатора +драйвер на него+бесплатная прога для прибора А6 скаченная с официального сайта. Для этого прибора есть заводские GSM модули. Но ценник в 150 BYN не радует. Можете ли вы написать прошивку для GSM модема M590 чтобы его можно было использовать с прибором А6-02?! Спасибо! P.S. Просто хочу сделать сигнализацию в гараж, а в программировании полный ноль.
@ElectroHobby1
@ElectroHobby1 8 лет назад
STM32 тоже спокойно можно запрограммировать тем же адаптером.Вот второе видео ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-3fpKSR6BYWw.html . В третьем будет готовый прибор.Установка на сигнализацию и снятие с ее посредством телефонного вызова.Реакция на датчик движения оправляем СМС с последующим дозвоном вдруг я сплю)) Если с паяльником дружите собрать данный девайс проблем не должно возникнуть.Плюс герконы на двери можно поставить и также при сработке смс и дозвон.Спаяли залили прошивку и все работает.Ну номер телефона изменить прийдется.
@elblog7735
@elblog7735 8 лет назад
С паяльником я дружу. И даже паяльная станция есть. Просто заводской ПКП выглядит серьезнее. На каждом шлейфе установлен резистор. Если сопротивление в шлейфе становится выше или ниже нормы, срабатывает сигнализация. Нельзя просто зашунтировать шлейф до датчика чтобы отключить срабатывание сигнализации. Есть круглосуточная охрана тампера прибора и тамперов датчиков. Которые обычно включены последовательно. При вскрытии приходит извещение о сработке тампера. Есть извещение о резервном питании о разряде батареи о отсутствии сети 220В. Чувствую придется мне покупать заводской GSM модуль :)
@ElectroHobby1
@ElectroHobby1 8 лет назад
Mastermix у Вас в гараже БАНК?))) Захотят украсть профессионалы своего дела .Как вариант задолбут вас же сработкой вашей сигнализации .А, когда перестанете обращать внимание вынесут все). Кстати в модем прошивка не заливается прошивка в микроконтроллере(номер телефона,логика и тп.).В модем можно занести номер телефона.Но управление идет посредством АТ-команд.
@elblog7735
@elblog7735 8 лет назад
Может вы и правы... В заводском GSM модуле, программируется SIM-карта и передача данных идет через GPRS на пункт централизованного наблюдения. А для передачи тревоги на мобильный телефон это не нужные функции.
@rashadshubita3288
@rashadshubita3288 8 лет назад
Hi,thank you for your amazing work but can you encloses the source code please ^^ and other video if you can ,thank you again.
@ElectroHobby1
@ElectroHobby1 8 лет назад
drive.google.com/open?id=0ByRQugmcYDiJR0lfMDg1a0ZWa1k for connection ds18b20 to stm32f103c8t6 . There is another video in the future for the modem NEOWAY M590 then lay out the code.
@rashadshubita3288
@rashadshubita3288 8 лет назад
+ElectroHobby (BARYS ILKAVETS) thank you very much you are wonderful ^^ . i questioned whether you can enclose all project to the cloud ^^ thank you for your kindness . but can you work on cortex-m4 not 3 and way you choose cortex-m3 , becuse i am new beginer and won't work on cortrx-m4 , can you give me any advise (i have little background becuse i work with pic and avr and now learn arm )thank you again.
@rashadshubita3288
@rashadshubita3288 8 лет назад
+ElectroHobby (BARYS ILKAVETS) i am sorry i intend way you move into cortex m3 insted of m4
@ElectroHobby1
@ElectroHobby1 8 лет назад
I also like you learn microcontroller.Code of the cortex-m3 my examples are not very different for the cortex-m4.For each task, its microcontroller.In the future, I plan to use STM8 also in my projects.
@rashadshubita3288
@rashadshubita3288 8 лет назад
+ElectroHobby (BARYS ILKAVETS) nice so may i can offer any help if you need becuse i work very well in 8bit but i want learn 32bit and i actully advise you to avoid 8bit it outdated in fact stm32f1 based on cortex m0 very chipe like 8bit and very powerful and i thinke may five years later 8bit will disappear so 32bit is much better. ^^
@adityak3578
@adityak3578 6 лет назад
please atleast put english subtitle
@ElectroHobby1
@ElectroHobby1 6 лет назад
you can download the project.
Далее
GSM модуль M590  Урок 1.
12:56
Просмотров 80 тыс.
Decompress small game, have time to play it!
00:35
STM32 и GSM модем NEOWAY M590 remote control
7:28
STM32F103C8T6+ST_LINK V2 SWD  НЕ РАБОТАЕТ
13:11