Arduino über HM-10 Bluetooth LE Modul drahtlos programmieren

Hallo Leute,

kann mir von Euch jemand sagen ob es möglich ist einen Arduino (328, 8 Mhz OHNE Bootloader), der über die RX/TX Ports direkt mit einem HM-10 Bluetooth-Modul verbunden ist, drahtlos zu programmieren? Wenn ja wie? Ich scheitere gerade schon daran einen Bluetooth com-Port unter Windows 10 zu erstellen...

Hallo,

die Fragestellung ist etwas wirr???? Präzisiere mal was du eigentlich machen willst. Es macht keinen Sinn einen nicht bereits Programierten MC an ein BT Modul zu hängen. Das ist wie Autofahren, vor dem Fahren musst du Tanken. Wenn ich das richtig verstanden habe möchtest du einen Arduino ...... anstelle der üblichen Schnittstellen, mittels BT Programmieren. PC - BT - BT - Controller - Arduino. Du hast sicher gesehen das auf einem Arduino Bord immer ein anderer MC an dem USB Bus zwischengeschaltet ist. Dieser bereitet die Daten von der USB Schnittstelle so auf, das diese mit dem nötigen Reset Signal über die RX/TX schnitstelle an den Arduino gesendet wird. Dazu muss dieser aber über den Bootloader verfügen. Ohne Bootloader muss du über die ISP Schnittstelle gehen. Wenn du dir mal den ISP Programmer anschaust. Wirst du sehen, das auch dort ein MC zwischen geschaltet ist. Man könnte sicher etwas bauen das eine solche Verbindung auch mittels BT bewerkstelligt. Aber da muss man eigentlich nicht lange überlegen. Zu aufwendig. Wenn du es machen möchtest weil du es einfach mal probieren willst. Dann musst du dich mehr mit dem Aufbau und der Funktionsweise der Arduino Systems befassen. Erläutere doch mal was es werden soll. Vielleicht weis einer ja wie das auch anders zu lösen ist.

Gruss Temucin alias TFT

Hallo Temucin,

vielen Dank für die schnelle Antwort. Um genau zu sein habe ich gar kein Arduino sondern eine eigene Leiterplatte mit einem ATMega 328 und einem HM-10 Modul. Normalerweise programmiere ich den 328 via ISP. Darum ist dann auch kein Bootloader mehr aufgespielt (oder doch?). Ich habe dummerweise ein paar von den Leiterplatten in Schrumpfschlauch gepackt, muss nun aber doch nochmal etwas anderes aufspielen. Darum war die Idee die Hexfile direkt via Bluetooth LE aufzuspielen.

Es gibt diverse Anleitungen im Internet um einen Arduino mit einem HC-05 Modul über die Bluetooth Verbindung zu programmieren. Allerdings ist da immer noch ein Kondensator mit im Spiel. Es ist ja auch kein Problem einen Arduino direkt über die serielle Verbindung zu programmieren. Vermutlich wird der Reset vor dem Programmieren das Problem sein...

Du hast ja schon die Info von temucin bekommen, wenn du über seriell programmieren willst, muss ein Bootloader drauf sein.
Und ja, einen Reset brauchst du auch, damit der Atmega328 in den Programmiermodus geht.

Hi

Die Sache spielt sich ungefähr so ab:

  • Reset
  • Bootloader startet und wartet zwei Sekunden darauf, daß mit Ihm korrekt geschwätzt wird
    -> JA: Es soll was Neues aufgespiet werden:
    --- Daten einlesen und auf den Chip brennen
    --- Retourlesen
    --- Reset

-> NEIN: Da redet Keiner 'Arduino' - nach den 2 Sekunden wird der Sketch gestartet

Der Bootloader übernimmt das Annehmen, Aufbrennen und Zurücklesen der neuen Daten - nach weiteren 2 Sekunden (der PC schwätzt dieses Mal NICHT mit dem Arduino) startet der neue Sketch.

MfG

Wenn Du durch ISP-Aufspielen des Sketches den Bootloader gelöscht hast, dann kannst Du nicht mehr über Seriell den Sketch hochladen, denn dazu braucht es den Bootloader.
Für die Serielle Übertragung geht jede Übertragungsvariante die dei notwendige Geschwindigkeit garantiert (115200 Baud) und einen Reset auslösen kann, denn nur so wird der Bootloader, der den kompilierten Sketch entgegennimmt aktiviert. Eventuell kann ein Upload auch über den Resettaster gestartet werden.

Grüße Uwe

Vielen Dank für die Antworten. Das ist natürlich schade, dass das nicht möglich ist. Dann muss ich meine Schrumpfschläuche wohl nochmal aufschlitzen...

...und der Empfang eines neuen Sketches im laufenden Betrieb, also quasi im Sketch eingearbeitet ist dann wohl auch nicht möglich, oder? Das hätte eine spätere Firmwareaktualisierung ermöglicht...

Hi

Das ginge in die Richtung OTA (over the air), Das sind dann aber zumindest fettere Arduinos, wenn's denn überhaupt noch Arduinos sind und sich nicht nur per Arduino-IDE programmieren lassen.

Dazu wirst Du hier aber wohl in Kürze auch eine Antwort finden - benutzen hier doch Einige - ich gehöre Da aber (noch?) nicht zu.

MfG