Klone HM-10 Bluetooth Modülüne Firmware Yükleme

Gokrtl

Gökhan Kartal (TeknoDay)
Staff member
Katılım
27 Şubat 2019
Mesajlar
11,180
BLE HM-10 modülünü kullanırken AT komutları gönderip alamamanız veya HM-10'u Akıllı Telefon ile eşleştirememeniz gibi gerçekten can sıkıcı sorunlarla karşılaşabilirsiniz. Bu sorunlarla karşılaşırsanız, BLE HM-10 modülünüz kesinlikle Klonlanmış bir HM-10 Modülüdür. Ancak orijinal firmware ile update edildikten sonra orijinal bir BLE HM10 modülü gibi davranır ve orijinal Bluetooth modülü olarak kullanılabilir.

Klonlanmış HM-10 Modülü Nedir?

Klonlanmış HM-10 modülleri, Orijinal HM-10 modülüne benzer. Ancak imalat sırasında ekstra maliyetten tasarruf etmek için üreticiler harici osilatörü çıkardı ve Harici Osilatör için yer bıraktı. Üretici, maliyetten tasarruf etmek için HM-10 modülünün dahili osilatörünü kullandı. Ayrıca firmware, orijinal HM-10 modülünden farklıdır.

HM10 BLE-4-Module.jpg


BLE HM-10 modülü, Texas Instrument's CC2540 veya CC2541 üzerine kurulu bir Bluetooth Low Energy (BLE) modülüdür .
Çinli üretici Jinan Huamao Technology, anakartın ve firmware'inin geliştiricisidir. Üretici, resmi belgelerde piyasada mevcut birkaç klon olduğunu belirtti.

Orijinal ve Klon HM10 BLE Modülleri nasıl ayırt edilir

Orijinal ve Çin klonlu olmak üzere iki tür BLE HM-10 modülü mevcuttur .
Orijinal ve Çin Klonlanmış HM-10 modülü arasındaki farkı belirlemek için bazı noktalar vardır.

1. İlk nokta, HM-10 modülüne bakmaktır. HM-10 kartında 32KHz'lik Kristal Osilatör varsa, o zaman Orijinaldir, diğeri ise Çin Klonlanmış HM10'dur.

Genuine-and-Clone-HM10-BLE-Modules.jpg


2. Bulmanın ikinci yolu, HM10'u herhangi bir Seri Modüle bağlayıp AT komutları göndermektir. HM-10, AT komutlarına yanıt vermiyorsa, Klonlanmış bir HM-10 modülüdür.

Clone HM-10 BLE Modülünün Firmware'i nasıl değiştirilir veya Flash yapılır

Firmware'i değiştirmek için lehimleme konusunda gerçekten iyi bir ele ihtiyacımız var. HM10 modülünün donanım yazılımını değiştirdikten sonra. Tüm işlevlerine erişebileceksiniz. Klonlanmış HM10 modülünü flash etmenin iki yöntemi vardır:

1. İlk yöntem, Texas Instruments'ın SmartRF Flash Programlayıcısını içerir.

2. İkinci yöntem, Arduino'yu HM-10 için programlayıcı olarak kullanmayı içerir.

Biz burada, ikinci yöntem olan Arduino'yu HM-10 için Programlayıcı olarak flash etme yöntemini kullanacağız .
Öyleyse, Arduino UNO'yu Programcı olarak kullanarak HM-10 modülünün firmware update etme adımlarına başlayalım. Daha önce de belirtildiği gibi, HM-10'u Arduino'ya bağlamak için lehimleme gerekecektir. Telleri HM-10'un DEBUG_CLOCK, DEBUG_DATA, RESET_N pinlerine lehimlememiz gerekiyor.
Daha sonra tam prosedür sonraki bölümlerde açıklanmıştır.

Gerekli Bileşenler

Donanım
  • Arduino (UNO)
  • Klon HM-10 (CC2541 kartı)
  • Bazı Jumper Telleri
  • Havya (Teli HM-10 Board'a lehimlemek için)
Yazılım:

HM-10 Pin Çıkışı

HM-10-Pinout.png


Devre şeması

İlk olarak, küçük jumper kablolarını HM-10 Board pinleri ile lehimleyin.
Lehimleme yapmadan önce, HM-10 board da lehim yapacağınız pinleri sıcak hava tabancası ile biraz ısıtın. Direk havya ucu ile kolay lehim yapılmıyor.
Lehimleme yaparken önce kablo uçlarını ve HM-10 board pinlerine bir miktar lehim sürün ve sonra kabloları yerlerine lehimleyin.
Ardından HM10 BLE Module içindeki firmware'i flash etmek için Arduino ile devre bağlantılarına devam edin .

Circuit-Diagram-for-Flashing-the-Firmware-on-Clone-HM-10-BLE-Module-using-Arduino-Uno.png


Circuit-Hardware-for-Flashing-the-Firmware-on-Clone-HM-10-BLE-Module-using-Arduino-Uno.jpg


Arduino Uno Kullanarak HM10 Bluetooth Modülünde Firmware Güncelleme Adımları

1. Öncelikle Arduino IDE kullanarak CCloader Sketch'i Arduino Uno'ya indirin ve yükleyin .
Bu zip dosyası , firmware flash ile ilgili tüm dosyaları (.bin dosyası, CCloaderArduino.ino, CCLoader.exe) içerir.

  1. Arduino IDE ile çizimi açın
  2. Baud hızı, Kart, COM Bağlantı Noktası, Programcı vb. ayarları yapın.
  3. Sketch dosyasını derleyin ve UNO ya yükleyin.
2. Şimdi HM-10 kartındaki kabloları lehimledikten sonra HM-10/CC2541 Kartı'nı aşağıdaki tabloya göre Arduino'ya bağlayın :

Pin AdıCC2541 PimleriArduino UNO Pinleri
DEBUG_CLOCK7 numaralı pinPin 5
DEBUG_DATApin 86 numaralı pin
RESET_N11 numaralı pin4 numaralı pin
GND13 numaralı pinGND
3,3 V12 numaralı pin
  1. V

Soldered-HM-10-BLE-Module-for-Flashing.jpg


3. Artık devre bağlantısı hazır, sonraki adım Windows CCloader.exe kullanarak HM-10 Firmware'i yüklemektir.
Tüm dosyaları (CCloader.exe, CC2541hm10v540.bin gibi) aynı klasörde tutun (ben bunu masaüstünde HM10 klasörü oluşturup içine kaydettim ).
Zip formatında indirileceği için CC2541hm10v540.bin dosyasının çıkarılması gerekir.

4. Şimdi komut istemini açın ve resimdeki komutları kullanarak "CCloader.exe" nin bulunduğu klasöre gidin .
Benim durumumda C:\Users\Gökhan\Desktop\HM-10)

terminal.png



5. Komutu aşağıdaki gibi bir formatta yazın ve yürütün:
COM bağlantı noktası olarak Arduino Uno'nun bağlı olduğu COM bağlantı noktasını yazın.

Kod:
.\CCLoader.exe <COM Bağlantı Noktası> <Firmware.bin> 0

Not:
COM Bağlantı Noktasını COM Bağlantı Noktası numaranızla değiştirin (örn. 2,3,4,5). COM5 veya COM4 yazmayın, sadece Port Numarasını yazın. Ayrıca <> işaretleri hariç Firmware.bin dosyasını kendi dosya adınızla değiştirin. Arduino Uno kullanıyorsanız, '0' kullanın ve diğer Arduino, örneğin Micro kullanıyorsanız, 0'ı 1 olarak değiştirin.

Benim terminal ekranımda komut şöyle görünüyor:

C:\Users\Gökhan\Desktop\HM-10>CCloader.exe 9 CC2541hm10v540.bin 0

CC2541hm10v540.bin dosyasını CCloader'ın bulunduğu klasöre koymalısınız.

6. Yukarıdaki komutu yürüttükten sonra ürün yazılımı yüklenmeye başlayacaktır, sadece bitmesini bekleyin. Bittiğinde Komut istemi aşağıdaki gibi görünecektir.

HM10 BLE-4-Module-firmware-update.jpg.png


Firmware başarılı şekilde yüklendikten sonra Serial Monitörden gönderdiğimiz komuta cevap alabilmek için Baud Rate kısmını 9600'e ayarlamamız gerek ve en önemlisi Bir yandaki kısmı "Satır sonu yok" olarak seçmemiz gerek. Aksi taktirde gönderdiğimiz komutlara cevap alamayacağız. Bu ayar klon HM-10'u ilk aldığımızda "NL ve CR ile gönder" seçiliyor. Biz yukarıdaki Firmware'i yükledikten sonra "Satır sonu yok" olarak değiştiriyoruz.

SATIR.png


Son olarak kullanabileceğiniz komutları PDF olarak ekliyorum. Aşağıdan indirebilirsiniz.



KAYNAK

Burada da Kloncu amcanın Firmware leri var. Belki Birine lazım olur.
 

Ekler

  • DSD TECH HM-10 datasheet.pdf
    860.9 KB · Görüntüleme: 176
Son düzenleme:
Uğraştım uğraştım sonuna geldim.
Terminalde son kodu yazıp enter'a bastığımda aşağıdaki hatayı alıyorum.
Bununla ilgili destek verebilecek var mı?

terminalhata.png
 
Sana söylüyor ne yapman gerektiğini hata mesajında. Program isminin başına .\ koyman lazım. Dangalaklar biraz linux özentisi yapmışlar :katil2:
 
Sana söylüyor ne yapman gerektiğini hata mesajında. Program isminin başına .\ koyman lazım. Dangalaklar biraz linux özentisi yapmışlar :katil2:
Sağol abi. Sende olmasan çırpınacaz akşama kadar. Sabah 8 den beri uğraşıyorum şu işle.
 
Şimdide cihaz ayar moduna geçmiyor. Nerden sardım başıma belayı yav.
 
Denedim yemedi. Şimdi clon hm-10 un firmware'ini bulup geri yüklemeye çalışacağım.
 
HC-05 te BLE yok.
 
Bu bluetooth çöp oldu sanırım. Ayar moduna hiç bir türlü girmiyor.
Mevcut hali ile de telefonda görünüyor ama bağlanmıyor.
Klon cihazın üreticisinin oluşturduğu firmware'i de buldum ama yüklemiyor. Çünkü ayar moduna geçmiyor.

hmup.png


hm2up.png
 
HC05:
#include <SoftwareSerial.h>
SoftwareSerial Bluetooth(2,3);

char c=' ';
void setup()
{
  Serial.begin(9600);
  Serial.println("ready");
  Bluetooth.begin(38400);
}

void loop()
{
  if(Bluetooth.available())
  {
    c=Bluetooth.read();
    Serial.write(c);
  }
  if(Serial.available())
  {
    c=Serial.read();
    Bluetooth.write(c);
  }
}
Bu daha önce hc-05 için nano ile kullandığım at ayar programı abi.
şu Bluetooth.begin(38400) yazan yeri senin hm10 için kaçsa baudun ona göre değiştirip bununla bir dene arduino kartımın rst-gnd köprüleyip modülü tx-rx bağlayınca AT yazınca cevap alamıyordum ama bu şekilde alıyordum ben.
2-rx
3-tx
çapraz bağlantı yapmalısın
 
Gökhan büyük ihtimalle CC2541 flash silindikten sonra programlama kesintiye uğradı ve o yüzden artık içinde çalışan bir kod yok. Bir şekilde boot kodu tekrar atmak lazım ama nasıl atılır bilmiyorum.

Bende bir kenarlarda bir süre önce aldığım HM 10 lar olması lazım. Ve bendekiler orijinal olabilir. Bir bulayım onları ve bakalım. Belki program korumalı değildir ve geri okuruz.
 
Gökhan büyük ihtimalle CC2541 flash silindikten sonra programlama kesintiye uğradı ve o yüzden artık içinde çalışan bir kod yok. Bir şekilde boot kodu tekrar atmak lazım ama nasıl atılır bilmiyorum.

Bende bir kenarlarda bir süre önce aldığım HM 10 lar olması lazım. Ve bendekiler orijinal olabilir. Bir bulayım onları ve bakalım. Belki program korumalı değildir ve geri okuruz.
Abi şuan halletim gibi. Birazdan vaktim yeterse yazacağım. Olmazsa iş yerimden yazarım. Biraz daha kafamda oturtayım.
 
@taydin abi aslında firmware yüklemesi başarılı olmuş.
Ben serial monitörden komut gönderip cevap alamayınca olmadı diye yırtınıyordum.
Burada şöyle bir ayrıntı var. Firmware'i yüklemeden önce (ilk satın alındığı klon hali) Komut gönderip cevap alabilmek için Serial monitörün alt kısmında "NR ve CR ile birlikte" seçeneğini seçmek gerekiyordu. Bu şekilde komutlara cevap alabiliyordum.

Sonra yeni Firmware yükleyince bu ayarı "Satır sonu yok" olarak değiştirmek gerekiyormuş.
Sağolsun firmware'in nasıl yüklendiğini anlatan arkadaş ne ".\" olayından bahsetmiş, nede bu "Satır sonu yok" olayından. Saatlerdir şunun yüzünden çırpınıp duruyorum. Tesadüf birinin yorumuna denk geldimde buldum. Yoksa ramak kalmıştı çöpe atmama.
Şimdi tüm ayarlarını yaptım hatta telefonumdan da sağlıklı bir şekilde bağlandım.
SATIR.png
 
@taydin abi aslında firmware yüklemesi başarılı olmuş.
Ben serial monitörden komut gönderip cevap alamayınca olmadı diye yırtınıyordum.
Burada şöyle bir ayrıntı var. Firmware'i yüklemeden önce (ilk satın alındığı klon hali) Komut gönderip cevap alabilmek için Serial monitörün alt kısmında "NR ve CR ile birlikte" seçeneğini seçmek gerekiyordu. Bu şekilde komutlara cevap alabiliyordum.

Sonra yeni Firmware yükleyince bu ayarı "Satır sonu yok" olarak değiştirmek gerekiyormuş.
Sağolsun firmware'in nasıl yüklendiğini anlatan arkadaş ne ".\" olayından bahsetmiş, nede bu "Satır sonu yok" olayından. Saatlerdir şunun yüzünden çırpınıp duruyorum. Tesadüf birinin yorumuna denk geldimde buldum. Yoksa ramak kalmıştı çöpe atmama.
Şimdi tüm ayarlarını yaptım hatta telefonumdan da sağlıklı bir şekilde bağlandım.
16798 eklentisine bak
Güncelleme sonrasında com port alıyor mu peki
 
Bunun firmware'inin kaynak kodu var mı?
 

Forum istatistikleri

Konular
5,654
Mesajlar
97,282
Üyeler
2,438
Son üye
İbrahimSönmez

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top