Moin, dies ist ein Folgebeitrag für diesen eigentlichen Post: Beitrag "Suche bauteil identität" Es geht hier nun darum um einen Diskussions oder auch Bastel Thread zu erstellen der sich um die I6HRC Smart Watch/ Fitness Tracker dreht, bei dieser Fitness Uhr handelt es sich um eine Ideale Bastel Plattform die sehr einfach mit Arduino programmiert werden kann. Hier ein Link zu der Uhr auf A*azon: https://amzn.to/2AVOTRY oder https://amzn.to/2Wao31y Ich habe sie zum Preis von 16€ gekauft. Hier ein Kurzes Video mit einer Arduino Firmware auf der UHR: https://www.youtube.com/watch?v=n-oou__yMY0 Mit dem Core Port von Sandeepmistry ist eine Programmierung "in" Arduino möglich: https://github.com/sandeepmistry/arduino-nRF5 Hier die vorhandene Hardware: MCU ist ein NRF52832 mit 512kB flash und 64kB Ram https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/nrf52832pinoutquestion.png Bewegungssensor KX023 (Kompatibelmit dem KX022) https://www.willow.co.uk/components/com_virtuemart/shop_image/product/OEM%20Component%20Level%20Accelerometers/pdfs/KX023-1025%20Specifications%20Rev%2012.0.pdf Ein SPI Font Speicher GT24L24A2Y dieser ist zu vernachlässigen da sehr viel speicher zur Verfügung. http://www.genitop.com/admin/upload/20150817133547540.pdf Ein Vollintegrierter Herzfrequenzsensor PPS964 http://www.richwellgroup.com/Private/Files/20181025102416127%E2%88%AEPPS964%20datasheet%20Rev02_150817.pdf Ein 0,96" IPS SPI Display mit 16bit Farbtiefe und ST7735 Kontroller https://www.displayfuture.com/Display/datasheet/controller/ST7735.pdf 2 Touchfelder vor dem Display, geteilt in der Mitte nach oben und unten. Einen 65mAh Lipo Akku inkl Laderegler. Eine lichtempfindliche Diode. USB Anschluss direkt am Gehäuse, hier sind die inneren Datenpins ungenutzt und ich habe mir den SWD Port des NRF52 darüber nach Draußen geführt. Bis auf den Lichtsensor ist soweit jede Hardware von mir getestet und funktioniert soweit unter Arduino Das Pin out werde ich noch hochladen, habe es bis jetzt nur auf einem Kritzel zettel das will keiner sehen :D Anbei noch ein Paar Bilder. Achso, der Stromverbrauch ist derzeit im Standby bei ca. 70uA im Betrieb mit 50% Hintergrundbeleuchtung bei 12,5mA
:
Sehr schönes Projekt. Ich arbeite auch sehr viel mit den NRF52 unter Arduino Aaron C. schrieb: > Mit dem Core Port von Sandeepmistry ist eine Programmierung "in" Arduino > möglich: https://github.com/sandeepmistry/arduino-nRF5 Als Anmerkung. Ich hatte auch mit der Lib von Sandeepmistry angefangen. Ich musste aber bald festellen das diese Lib noch nicht ausgereift ist. (Kann inzwischen anders sein) Die Redbear Library ist zwar gut, aber veraltet. Nutze die Adafruit NRF52 Library! Sie baut auf der von Sandeemistry auf. Bietet BLE 5.0 und Update via OTA insgesamt gut supported und ausgereift. Aaron C. schrieb: > Achso, der Stromverbrauch ist derzeit im Standby bei ca. 70uA Das ist aber noch reichlich viel. Die NRF52 (Arduino) schaffen unter 10µA. Zumindest wenn man alle zusätzliche Hardware abschalten kann.
John P. schrieb: > Sehr schönes Projekt. > Ich arbeite auch sehr viel mit den NRF52 unter Arduino Cool das es da noch welche gibt die weiter sind :) danke für den Tipp mit der Library, OTA Updates sind ja deutlich angenehmer, sehe mir das nach Feierabend mal an! Finde die Die Sandeepmistry wirklicht etwas unausgereift. > Das ist aber noch reichlich viel. Die NRF52 (Arduino) schaffen unter > 10µA. > Zumindest wenn man alle zusätzliche Hardware abschalten kann. Die 70uA sind mit Aktivem Bluetooth, Bewegungssensor und Aktiven Interupts. Grüße
sehr geil. cool thumbsup also doch kein OLED, mit eingefärbten Bereichen, sondern ein kleines 16Bit Colr-TFT. sehr chic... Auch die anderen Sensoren sind ja nun nicht zu verachten. Andereseits reicht mir die gebotene Funktionalität vorerst aus. Bin schon gespannt, was man sonst noch für Ideen damit umsetzen könnte. Gut gemacht!!!
Aaron C. schrieb: > Die 70uA sind mit Aktivem Bluetooth, Bewegungssensor und Aktiven > Interupts. Ich erreiche hier mit aktiven, BLE, und aktiven Interrupts etwa 6µA auf meiner Hardware. Welches Advertise Interval hast du eingestellt? Habe bei mir 2 sek, also 2000ms. default sind etwa 100ms
John P. schrieb: > Ich erreiche hier mit aktiven, BLE, und aktiven Interrupts etwa 6µA auf > meiner Hardware. > > Welches Advertise Interval hast du eingestellt? > Habe bei mir 2 sek, also 2000ms. default sind etwa 100ms Habe den Interval auf 400ms gesetzt, kann auch im DeepSleep Daten senden und empfangen, weiß nicht ob das noch was an der Stromaufnahme ändert. Denke hier macht aber die zusätzliche Hardware auch viel aus. Bei einem NRF51 Board bin ich glaube ich auch nur auf Min 60uA gekommen, ohne zusätzliche Hardware Habe gerade schon mal grob die Adarauit Library angeschaut und finde leider keine Möglichkeit per St-Link zu Programmieren?! geht das dort auch so Problemlos wie bei Sandeepmistry?.
:
Bearbeitet durch User
Aaron C. schrieb: > Habe gerade schon mal grob die Adarauit Library angeschaut und finde > leider keine Möglichkeit per St-Link zu Programmieren?! geht das dort > auch so Problemlos wie bei Sandeepmistry?. Das ist eine gute Frage. Normalerweise flasht man das Softdevice+Adafruit Bootloader via SWD Danach nutze ich den Bootloader via UART. Irgendwo habe ich gelesen das man auch den J-Link zum flashen nutzen kann. Irgendwo habe ich gelsen das man den ST-Link als J-Link nutzen kann.
John P. schrieb: > Irgendwo habe ich gelesen das man auch den J-Link zum flashen nutzen > kann. > Irgendwo habe ich gelesen das man den ST-Link als J-Link nutzen kann. Ok, per J-Link Flashen funktioniert wenn man auf Hochladen mit Programmer geht und vorher J-Link für Bluefruit als Programmer auswählt, habe einen J-link, finde es damit aber doch etwas umständlicher. Werde mal nach J-link zu St-Link schauen.
Aaron C. schrieb: > Ok, per J-Link Flashen funktioniert wenn man auf Hochladen mit > Programmer geht und vorher J-Link für Bluefruit als Programmer auswählt, > habe einen J-link, finde es damit aber doch etwas umständlicher. Schön zu hören, dass es funktioniert. Man kann halt nicht alles haben. Ich selbst finde das ganze Jlink, open ocd zeug auch alles zu kompliziert. Daher flashe ich das Softdevice via Drap&Drop mit dem DAP-Link (CMSIS DAP?) Danach kann ich mit jedem beliebigen USB-UART Adapter flashen. Das setzt natürlich vorraus, dass die UART Pins frei sind und man auch rankommt. Eigentlich sollte sich die Application auch mit dem DAP-Link flashen lassen. Die Hürde ist hier wohl eher alles in der Arduino Umgebung zum laufen zu bekommen.
John P. schrieb: > Nutze die Adafruit NRF52 Library! > Sie baut auf der von Sandeemistry auf. Bietet BLE 5.0 und Update via OTA > insgesamt gut supported und ausgereift. Können wir dafür die "Arduino nRF52 Boards" als Boardverwalter nehmen? Oder welche Boardverwalter sollte man zum Connecten verwenden? Als Lib habe ich mir die "Adafruit BluefruitLE nRF51" installiert. Aaron C. schrieb: > Hier ein Kurzes Video mit einer Arduino Firmware auf der UHR: Geile Sache! Wie hast du den Bootloader installiert? Über JLink oder gibts bei Arduino ein Board das man auswählen kann und über den internen USB zu flashen?
Kannst Du den Sketch den du auf deiner Uhr hast mit uns bitte teilen?
Alex W. schrieb: > Geile Sache! Wie hast du den Bootloader installiert? Über JLink oder > gibts bei Arduino ein Board das man auswählen kann und über den internen > USB zu flashen? Habe die Library von Sandeemistry installiert und mit dem St-Link die SoftDevice 132 installiert, diese muss man selber runterladen und in einen ordner reinkopieren, den pfad erfährt man wenn man einmal versucht SoftDevice zu flashen. Dann kann man als programmer St-Link auswählen und auf "NRF5 Flash SoftDevive" diesen installieren, hierbei benötigt man ja keinen Bootloader. Hier der Link zum softdevice: https://www.nordicsemi.com/Software-and-Tools/Software/S132/Download#infotabs als version 2.0.1 auswählen. Als Board nutze ich Generic NRF52
Hier der Sketch aus dem Video, es ist alles undokumentiert und noch sehr am anfang/durcheinander war erstmal proof of conzept und testen. Hoffe es hilft dennoch. es wird die Library UCGLIB benötigt, die i2c und spi bins in der Datei variant.h vom Board Generic müssen noch angepasst werden.
:
Bearbeitet durch User
Aaron C. schrieb: > Alex W. schrieb: >> Geile Sache! Wie hast du den Bootloader installiert? Über JLink oder >> gibts bei Arduino ein Board das man auswählen kann und über den internen >> USB zu flashen? > > Habe die Library von Sandeemistry installiert und mit dem St-Link die > SoftDevice 132 installiert, diese muss man selber runterladen und in > einen ordner reinkopieren, den pfad erfährt man wenn man einmal versucht > SoftDevice zu flashen. Dann kann man als programmer St-Link auswählen > und auf "NRF5 Flash SoftDevive" diesen installieren, hierbei benötigt > man ja keinen Bootloader. > > Hier der Link zum softdevice: > https://www.nordicsemi.com/Software-and-Tools/Software/S132/Download#infotabs > als version 2.0.1 auswählen. > Als Board nutze ich Generic NRF52 Danke! Ichhätte mich jetzt dusselig gesucht :-D Frage zum ST-Link: bei meiner Uhr ist SWCLK SWDIO RS SD SC INT VDDH MTO RX TX RX1 V3.3 Reicht es vom ST-Link die SWDIO, RST, SWCLK und GND zu verwenden?
Alex W. schrieb: > SWCLK > SWDIO > RS > SD > SC > INT > VDDH > MTO > RX > TX > RX1 > V3.3 > Reicht es vom ST-Link die SWDIO, RST, SWCLK und GND zu verwenden? Es müssen nur SWDIO, SWCLK und GND verbunden werden, reset nicht der reset vom NRF sondern von dem PPS964 Puls Sensor. Es ist noch zu erwähnen das die UCGLIB nur ein Display mit 128x160 Pixeln kennt es werden immer rechts und links 24 Pixel nicht mit angezeigt, hier einfach immer erst bei pixel 24 anfangen.
Kurzer Hinweis beim Verwenden einer frischen Arduino-Umgebung (zum Testen von Aaron's ino-Sketch): Zusätzlich wird benötigt: -> https://github.com/sandeepmistry/arduino-BLEPeripheral -> https://github.com/olikraus/ucglib Nachtrag da erst jetzt gesehen: Aaron C. schrieb: > Es müssen nur SWDIO, SWCLK und GND verbunden werden, reset nicht der > reset vom NRF sondern von dem PPS964 Puls Sensor. Danke!
:
Bearbeitet durch User
Kann man die originale Firmware vorher auslesen? Oder irgendwo herunterladen?
Marc Horby schrieb: > Kann man die originale Firmware vorher auslesen? Oder irgendwo > herunterladen? Mit dem Tool NRFGo Studio lässt sich der Flash auslesen, ich hatte dies bei meiner uhr gemacht jedoch lies sich das Backup nicht flashen, habe es nicht weiter probiert. Hier zum download: https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF24-series damit lässt sich auch der die das SoftDevice Flashen. Achso das NRFgo Studio kann allerdings nur mit J-Link und nicht mit dem ST-Link umgehen. Habe gerade das Backup von der Uhr in IDA eingelesen, das kommt damit sogar klar und vielleicht lässt sich dort noch etwas mehr die Funktion den Pulssensors auslesen, da hänge ich gerade noch bei den richtigen Register werten.
:
Bearbeitet durch User
Es geht nun weiter mit dem Fitness Tracker, ich konnte nun in Nächtlicher feinst arbeit den Puls Sensor vernünftig auslesen/nutzen. Ein Grund weswegen es nun funktioniert ist, das der Verbaute Voll integrierte PPG Sensor ein PPS964 ist, jedoch ist dieser Chip auch wieder aus 2 anderen Bauteilen gemacht. Zum einen ist dort das Lichtsende und Photosensor Modul, zum anderen ein AFE4404 IC von TI welches die eigentliche Logik enthält. dieser TI Chip ist wiederum auf der So genannten Heart Rate 3 Click Platine zu finden und dort gibt es ein Beispiel für Arduino siehe hier: https://bitbucket.org/nsted/afe4404_heartrate_arduinoesp8266/src/ec2196df1746?at=master Der Code hat mich sehr weitergebracht, wie im Folgenden Video ist aber das Größere Problem der Enable Pin am NRF52 gewesen da die NFC Pins erst auf GPIO umgeschaltet werden müssen. Wie man diese einstell Möglichkeit bei der sandeepmistry NRF5 Library hinzufügt steht hier: https://github.com/sandeepmistry/arduino-nRF5/pull/208 Hier nun noch ein neues Youtube Video vom Puls Sensor: https://youtu.be/5Y39J_3VtSo
:
Bearbeitet durch User
Danke Dir! ich habs geschafft mein Display beim Zusammenbau zu zerbrechen! Ist das erste mal dass ich ein Display kaputt bekommen habe. Wollte die Progleitungen wie bei dir zum USB führen. Kabel waren wohl zu dick. Jetzt werden es CuLackDraht...
Alex W. schrieb: > Danke Dir! > > > ich habs geschafft mein Display beim Zusammenbau zu zerbrechen! Ist das > erste mal dass ich ein Display kaputt bekommen habe. > > Wollte die Progleitungen wie bei dir zum USB führen. Kabel waren wohl zu > dick. Jetzt werden es CuLackDraht... Habe das auch bei einer uhr geschafft. Hier gibt es ersatz. http://rover.ebay.com/rover/1/707-53477-19255-0/1?icep_ff3=2&pub=5575152713&toolid=10001&campid=5337805879&customid=&icep_item=323299810218&ipn=psmain&icep_vectorid=229487&kwid=902099&mtid=824&kw=lg Hatte zum glück welche da Habe es bei mir auch mit CuLackDraht gemacht glaube 0.4mm und habe keinerlei probleme mit störungen oder so.
:
Bearbeitet durch User
Aaron C. schrieb: > Habe das auch bei einer uhr geschafft. :-) Wenn das so weiter geht, können wir bald die Platinen selbst bestücken! Eventuell wäre ein ESP32 dann interessant... Dann bucht sich die Uhr ins WLAN ein und zieht vom eigenen Server die Daten die man vorgibt...
Beitrag #5711819 wurde von einem Moderator gelöscht.
Hallo, interessantes Thema, hat jemand vielleicht einen Tipp, wo man ein passendes Exemplar kaufen kann? Amazon sagt nur "nicht verfügbar" und ich kann nicht einschätzen, unter welchem Namen das richtige Modell noch zu finden sein könnte, halbwegs bezahlbar wäre auch gut... Gruß aus Berlin Michael
Diese wäre die richtige: https://amzn.to/2COFwnq Ist aber einfach viel zu teuer, nicht die schwarze variante, das ist noch eine andere. Mfg
Hallo, Aaron C. schrieb: > Ist aber einfach viel zu teuer, nicht die schwarze variante, das ist > noch eine andere. Danke. Naja, da ich auch nichts unter dem Preis gefunden habe, wäre das nur ein Problem. ;) Größeres Problem: es wäre nur Interesse und Spielerei und davon liegen hier noch etliche Sachen rum... Ich behalte es aber trotzdem mal im Auge. Gruß aus Berlin Michael
Hallo, so, die Neugier hat gewonnen, nun ist nur noch eine verfügbar bei Amazon... Eine portable-IDE habe ich schon installiert, die Libs usw. zusammengesucht und die Boardgeschichte von sandeepmistry. Zumndest compiliert der den Sketch von oben ohne zu maulen. Einen ST-Link v2 mußte auch noch her, der soll morgen ankommen und war ja wenigstens bezahlbar. ;) Gruß aus Berlin Michael
Michael U. schrieb: > Hallo, > > so, die Neugier hat gewonnen, nun ist nur noch eine verfügbar bei > Amazon... > > Eine portable-IDE habe ich schon installiert, die Libs usw. > zusammengesucht und die Boardgeschichte von sandeepmistry. > Zumndest compiliert der den Sketch von oben ohne zu maulen. Einen > ST-Link v2 mußte auch noch her, der soll morgen ankommen und war ja > wenigstens bezahlbar. ;) > > Gruß aus Berlin > Michael War ja klar :D Viel spass beim basteln. Habe mir nun auch etwas mehr die Original App angesehen und kann von jeglicher nutzung abraten!!! Alle paar minuten sendet die app den standort gps genau nach china und alles fitness daten natürlich auch. Leider kommt hinzu das jeder der die UserId kennt alle daten die dort gespeichert sind abfragen und auch neu schreiben kann, ohne irgendeine passwort abfrage. Eine gute sache hat die app aber sie lässt sich einfach decompilen und so konnte ich mit einer eigenen app die uhr schon in den update modus bringen, danach ist sie im NRF dfu modus und kann per Bluetooth geflasht werden, das ist aber noch zukunftsmusik.
Aaron C. schrieb: > Alle paar minuten sendet die app den standort gps genau nach china und > alles fitness daten natürlich auch. Guten Morgen Aaron, wie hast du dies ermittelt? Würde gerne da tiefer einsteigen, da ich den Chinesenapps auch nicht traue. Eventuell könnte man den angegebenen Chinesenserver durch einen mit 127.0.0.1 ersetzen...
Hallo, Aaron C. schrieb: > Es müssen nur SWDIO, SWCLK und GND verbunden werden, reset nicht der > reset vom NRF sondern von dem PPS964 Puls Sensor. Das mit Reset wirst Du mir vermutlich noch erklären müssen... Du hat ja im Video den Kram auf die freien USB-Pins gelegt, da sind doch aber nur 2? > Es ist noch zu erwähnen das die UCGLIB nur ein Display mit 128x160 > Pixeln kennt es werden immer rechts und links 24 Pixel nicht mit > angezeigt, hier einfach immer erst bei pixel 24 anfangen. Die UCGLIB werde ich mir mal anschauen wegen der Auflösung, ganz fremd ist mir der ST7735 nicht. Erstmal will ich Deinen Test-Sketch auf die Uhr bekommen aus der IDE. Deinen Zettel mit den Pin-Belegungen fände ich auch ganz nett, vorerst kann ich ja erstmal mit den Angaben in der variant.h leben oder eben selber suchen. Ich muß mir das alles erstmal genauer anschauen, bisher eher AVR und ESP, also ziemlich ARM dran oder ARM ab. ;) Gruß aus Berlin Michael
:
Bearbeitet durch User
Alex W. schrieb: > John P. schrieb: >> Nutze die Adafruit NRF52 Library! >> Sie baut auf der von Sandeemistry auf. Bietet BLE 5.0 und Update via OTA >> insgesamt gut supported und ausgereift. > > Können wir dafür die "Arduino nRF52 Boards" als Boardverwalter nehmen? > Oder welche Boardverwalter sollte man zum Connecten verwenden? > > Als Lib habe ich mir die "Adafruit BluefruitLE nRF51" installiert. Hier die entsprechende adafruit Library mit allen zusätzlichen Infos's https://github.com/adafruit/Adafruit_nRF52_Arduino als Board den Bluefruit Feather nRF52832 auswahlen und die Variant.h ggf anpassen
Alex W. schrieb: > Guten Morgen Aaron, > > wie hast du dies ermittelt? Würde gerne da tiefer einsteigen, da ich den > Chinesenapps auch nicht traue. Eventuell könnte man den angegebenen > Chinesenserver durch einen mit 127.0.0.1 ersetzen... Moin Alex. Normaler weise nutze ich die app packet capture um zu sehen was so gesendet wird braucht root kann aber auch ssl also https daten anzeigen, das funktioniert bei dieser app aber nicht. Falls das nicht klapt wie hier nutze ich die app "APK editor Pro", hiermit kann man den smali source code bearbeiten, und ändere alle https:// einträge zu http:// damit werden dann normalerweise alle anfragen auch über packet capture sichtbar, darüber kann man auch alle anfragen zu 127.0.0.1 ändern, es gibt aber am anfang den login bildschirm den man umgehen müsste, also entweder selber einen server laufen lassen oder die app umschreiben. Möchte nich zu sehr ins detail gehen da es in deutschland ja lustigerweise nicht erlaubt ist sowas zu machen.
Michael U. schrieb: > Du hat ja im Video den Kram auf die freien USB-Pins gelegt, da sind doch > aber nur 2? So lieber in 2 antworten sonst wird es unübersichtlich, Der SWD Port braucht nicht immer einen Reset pin das läuft da über das protokoll ab, also werden nur 2 Pins benötigt, der Test Pad mit dem namen Reset ist der ausgangsport für den PPS964 Pulssensor damit wird dieser Resetet. Es ist der Reset pin vom NRF52 nicht einmal aktiviert und er wird als normaler GPIO genutzt. Das was ich im Video mache ist es den SWD clk pin ganz kurz auf 5V zu ziehen, kann ich nicht empfehlen nachzumachen aber bei mir funktioniert es. > Die UCGLIB werde ich mir mal anschauen wegen der Auflösung, ganz fremd > ist mir der ST7735 nicht. Hatte mir das auch schon angesehen, man muss leider sehr viel umschreiben deswegen hab ich das erstmal gelassen. Es funktioniert ja auch so, achso Die Farben Rot und Blau sind auch noch vertauscht ist aber auch nichts Dramatisches. > Deinen Zettel mit den Pin-Belegungen fände ich auch ganz nett, vorerst > kann ich ja erstmal mit den Angaben in der variant.h leben Ich habe in 2 oder drei posts vorher ganz still das Pinout als Bild mit hochgeladen :) Durch Arduino merkt man von ARM oder nicht ARM ja garnicht so viel :D Grüsse zurück
Hallo, ok, Resetfrage auch erstmal soweit geklärt. Aaron C. schrieb: > Ich habe in 2 oder drei posts vorher ganz still das Pinout als Bild mit > hochgeladen :) > > Durch Arduino merkt man von ARM oder nicht ARM ja garnicht so viel :D glatt übersehen, dabei ist es so schon bunt, Danke. Arduino ist bei mir ein Grund dafür, sowas einfach anzugehen, war bei den ESP auch so. Ich habe zwar auch ein ESP32 IDF hier installiert, nutze ich aber meist nur als Testumgebung, wenn ein ESP32 Beispielcode auds der ArduinoIDE eigene Ansichten entwickelt. Ist eben alles nur Zeitvertreib... Gruß aus Berlin Michael
Hier noch ein weiteres Bild mit Infos über Andere Tracker die ich bestellt habe, Es folgen noch 5 weitere die sind aber noch unterwegs. Biss her ist leider der I6HRC also der aus dem Thread hier der einzige richtig gute, durch das einfach zu öffnende Gehäuse und die 2 Freien Pins ist er ideal zum Basteln.
Hallo, laß mich raten: Guinness Buch - Die größte Fitness-Tracker Sammlung der Welt? ;) Ich habe da zum Display noch was gefunden: https://github.com/olikraus/Ucglib_Arduino/issues/13 Ich werde das mal einbauen und testen, aber erstmal muß ST-Link und Uhr hier sein und Dein Sketch drauf....... Gruß aus Berlin Michael
:
Bearbeitet durch User
Hi, seh ich das richtig, dass sich die nRF51/52xxx mit den alten nrf24L01+ bei 250 kBit/s unterhalten können?
Michael U. schrieb: > Hallo, > > laß mich raten: Guinness Buch - Die größte Fitness-Tracker Sammlung der > Welt? ;) > > Ich habe da zum Display noch was gefunden: > https://github.com/olikraus/Ucglib_Arduino/issues/13 > Ich werde das mal einbauen und testen, aber erstmal muß ST-Link und Uhr > hier sein und Dein Sketch drauf....... > > Gruß aus Berlin > Michael Naja die anderen uhren werd ich wohl niee weiter benutzen :D Eher Müllsammlung ^^ Hatte das wir gesagt mit der ucglib schon probiert, funktioniert quasi auch, leider ist der sichtbare bereich bei dem 80×160 Display in der mitte vom RAM displays und nicht am rand, so wurde immer nur die hälfte angezeigt. Möglich wird es aber sein, soweit kommt man ja damit klar.
Bastler 4.0 schrieb: > Hi, > seh ich das richtig, dass sich die nRF51/52xxx mit den alten nrf24L01+ > bei 250 kBit/s unterhalten können? Die NRF51und NRF52 haben ein proprietäres funkprotokoll welches nicht BLE ist. Ob dies NRF24L01 kompatibel ist weis ich so leider nicht. Wird hier aber auch erwähnt: https://devzone.nordicsemi.com/f/nordic-q-a/1950/advice-for-simple-communication-from-nrf51822-to-nrf24l01
Hallo, Bastler 4.0 schrieb: > seh ich das richtig, dass sich die nRF51/52xxx mit den alten nrf24L01+ > bei 250 kBit/s unterhalten können? interessanter Hinweis. Radio Eriwan und Nordic sagen im Prinzip ja. Gruß aus Berlin Michael
Aaron C. schrieb: > Die NRF51und NRF52 haben ein proprietäres funkprotokoll welches nicht > BLE ist. Der Hersteller (Nordic) liefert Libraries, die konformes BLE (sowohl Peripheral, als auch Central) implementieren. Alternativ gibt es OpenSource: https://www.zephyrproject.org https://mynewt.apache.org/v0_9_0/network/ble/ble_intro/ https://github.com/TorstenRobitzki/bluetoe nRF51/52 sind Mircrocontroller (M0/M4), die ein Radio-Peripheral haben, die sowohl proprietäre Protokolle, als auch BLE erlauben.
Habe es nun auch geschafft die Library https://github.com/adafruit/Adafruit-ST7735-Library von Adafruit für das Display zum laufen zu bekommen. Das gute an der Library es supportet das 80x160 Display. Man benötigt zusätzlich noch die Library https://github.com/adafruit/Adafruit-GFX-Library in der GFX library musste ich in der Datei: Adafruit_SPITFT.h In Zeile 15 das #define USE_FAST_PINIO ausklammern. Dadurch wird die Fast Pin IO option deaktiviert da sie nicht beim NRF52 funktioniert.
:
Bearbeitet durch User
Danke Aaron, ich warte gerade bei meinem auf Ersatz/andere Armbänder. Ich habe aber zwischenzeitlich vergebens versucht den NRF zu connecten. Der ST-Link V2 sagt dass er keine Verbindung aufbauen kann. Eventuell kannst du mal deine Einstellungen teilen die du verwendest.
Alex W. schrieb: > Danke Aaron, > > ich warte gerade bei meinem auf Ersatz/andere Armbänder. > > Ich habe aber zwischenzeitlich vergebens versucht den NRF zu connecten. > Der ST-Link V2 sagt dass er keine Verbindung aufbauen kann. Eventuell > kannst du mal deine Einstellungen teilen die du verwendest. Mit was versuchst du zu verbinden? Wenn unter Arduino muss man bei Programmer also ganz unten den ST Link 2 auswählen Das ST Link tool selber kann sich nicht mit dem NRF verbinden
OK, das wusste ich jetzt nicht! Ich dachte mit dem Tool kann ich später die .bin schreiben und benötige zumindest mal ein connect.. :-) Gerade festgestellt das eine i6HR nicht immer eine i6HR ist. Die eine hat ein Farbdisplay, die andere ein monochrom...
Alex W. schrieb: > OK, das wusste ich jetzt nicht! Ich dachte mit dem Tool kann ich später > die .bin schreiben und benötige zumindest mal ein connect.. :-) > > Gerade festgestellt das eine i6HR nicht immer eine i6HR ist. Die eine > hat ein Farbdisplay, die andere ein monochrom... Ja wie gesagt die bin kann man nur mit dem nrfgo programm schreiben oder lesen. Die i6hr hat oled monochrom undie i6hrc (color) ist farbig :) Die i6hrc ist die neuere variante. Hast du eine i6hr da? Frage mich ob da der rest gleich ist und nur das display anders?!
:
Bearbeitet durch User
Aaron C. schrieb: > Hast du eine i6hr da? Auf der Packung steht i3 HR. Die sah halt optisch gleich aus. Werde ich heute Abend mal zerlegen :-)
Ok, die I3HR ist wohl von Zeroner, ist aber auch wieder der gleiche Hersteller IWOWN also ist die Wahrscheinlichkeit groß das es auch ein NRF ist. IWOWN stellt Uhren mit folgenden Chipherstellern her: 1 - Ti, 2 - nordic/nrf, 3 - dialog, 4 - mtk ich bin gespannt :) Anbei nun noch mein Arduino sketch mit Adafruit Display Library, das Display wird damit auch viel schneller angesteuert und es können Bilder angezeigt werden.
:
Bearbeitet durch User
Hallo, so, die Uhr ist vorhin eingetroffen, hängt zum Akku laden dran. Ich habe noch nicht probiert, aber bevor ich eine Flex hole: wie geht die am Besten auf? Gruß aus Berlin Michael
Michael U. schrieb: > Hallo, > > so, die Uhr ist vorhin eingetroffen, hängt zum Akku laden dran. > Ich habe noch nicht probiert, aber bevor ich eine Flex hole: wie geht > die am Besten auf? > > Gruß aus Berlin > Michael :D Wenn ein Fingernagel lang genug ist mit einem davon oben oder unten zwischen glexiglas und gehäuse an der Front drunter gehen und ganz langsam abziehen, es ist so ein klebriger Filz dadrunter als Kleber der löst sich langsam ab ruhig mit Geduld
Hallo, Danke, Fingernagel war lang genug. "Bin ich schon drin oder was? Das war ja einfach..." Gruß aus Berlin Michael
Aaron C. schrieb: > Wenn ein Fingernagel lang genug ist mit einem davon oben oder unten > zwischen glexiglas und gehäuse Ein Plektrum aus Kunststoff für Gitarren eignet sich in der Regel gut dafür. Gibt's in unterschiedlichen Stärken.
Hallo, @Aaron C.: was hast Du mir da angetan auf meine alten Tage? so'ne Fummelei... ;-) ok. Uhr lebte nach den Lötereien erstmal noch. Problem: ArduinoIDE sagt mir;
1 | Info : STLINK v2 JTAG v17 API v2 SWIM v4 VID 0x0483 PID 0x3748 |
2 | Info : using stlink api v2 |
3 | Info : Target voltage: 3.222178 |
4 | Info : nrf52.cpu: hardware has 6 breakpoints, 4 watchpoints |
5 | nrf52.cpu: target state: halted |
6 | target halted due to debug-request, current mode: Thread |
7 | xPSR: 0x01000000 pc: 0x000008e4 msp: 0x20000400 |
8 | ** Programming Started ** |
9 | auto erase enabled |
10 | Info : nRF51822-QFN48(build code: B00) 512kB Flash |
11 | Warn : using fast async flash loader. This is currently supported |
12 | Warn : only with ST-Link and CMSIS-DAP. If you have issues, add |
13 | Warn : "set WORKAREASIZE 0" before sourcing nrf51.cfg to disable it |
14 | nrf52.cpu: target state: halted |
15 | target halted due to breakpoint, current mode: Thread |
16 | xPSR: 0x61000000 pc: 0x2000001e msp: 0x20000400 |
17 | wrote 36864 bytes from file C:\Users\Roehre\AppData\Local\Temp\arduino_build_564195/Uhr_Adafruit.ino.hex in 1.684803s (21.367 KiB/s) |
18 | ** Programming Finished ** |
19 | ** Verify Started ** |
20 | nrf52.cpu: target state: halted |
21 | target halted due to breakpoint, current mode: Thread |
22 | xPSR: 0x61000000 pc: 0x2000002e msp: 0x20000400 |
23 | verified 36760 bytes in 0.436801s (82.185 KiB/s) |
24 | ** Verified OK ** |
25 | ** Resetting Target ** |
26 | shutdown command invoked |
Sieht für mich zumindest nicht ganz falsch aus (keine Ahnung...). Problem: Display bleibt dunkel und zeigt nichts an. Sowohl mit dem alten Sketch als auch dem neuen. Beim Adafruit-Sketch habe ich noch das Problem, daß tft.enterSleep(); und tft.exitSleep(); nicht bekannt sind? Ich habe das im Moment kurzerhand erstmal auskommentiert. Irgendeine Idee? Gruß aus Berlin Michael
:
Bearbeitet durch User
Sieht schon sehr gut aus, es muss vorher noch das softdevice geflasht werden, ist weiter oben beschrieben wie das geht, danach kann man das programm erneut flashen und es läuft. Hier der Beitrag erneut: Habe die Library von Sandeemistry installiert und mit dem St-Link die SoftDevice 132 installiert, diese muss man selber runterladen und in einen ordner reinkopieren, den pfad erfährt man wenn man einmal versucht SoftDevice zu flashen. Dann kann man als programmer St-Link auswählen und auf "NRF5 Flash SoftDevive" diesen installieren, hierbei benötigt man ja keinen Bootloader. Hier der Link zum softdevice: https://www.nordicsemi.com/Software-and-Tools/Software/S132/Download#infotabs als version 2.0.1 auswählen. Als Board nutze ich Generic NRF52 Stimmt die enterSleep und exitSleep habe ich selber noch hinzugefügt beschreibe ich später noch genauer wenn ich am pc bin. Kann erstmal ausgeklammert werden.
:
Bearbeitet durch User
Vielleicht als zusätzliche Info für alle die noch nie mit den NRF's gearbeitet haben. Das Softdevice ist vorkompilierter code und kümmert sich unter anderem um den ganzen Bluetooth Stack und vereinfach einige funktionen. Jede Api (Sandeemistry, Redbear, oder Adafruit) ist für eine bestimmte Softdevice Version kompatibel Sandeemistry = Softdevice 2.0.1 Readbear = Softdevice 2.0.1 Adafruit = Softdevice 6.1.1 (BLE 5.0 fähig)
:
Bearbeitet durch User
Mal eine ganz andere Frage sollte man in der hier besprochenen app eine deutlich größere Sicherheitslücke finden was sollte man da am besten tun? Möchte da ungern weiter ins Detail gehen
Hallo, @John P. (brushlesspower): danke für die Erklärung. So kann ich das vorerst wenigstens zuordnen. @ Aaron C. (Firma: atcnetz.de) (atc1441): So, es lebt. Das mit dem SoftDevice ist mir gestern Abend durchgerutscht, ich hatte alles schon bereit liegen, bin aber nicht auf die Idee gekommen, mal auf nRF5 Flash SoftDevice zu klicken usw. In seinen Ordner verfrachtet, geflasht und... Denkste. Naja fast: backlight ging an und mein Handy fand beim BT-Scan das SmartArdu. Display blieb schwarz... Grade nochmal Deine Posts abgegrast und die variant.h an ihren Platz befördert und nun sehe ich auch was. Kann ich mich nachher mal etwas weiter durch den Kram wühlen und Bildungslücken auffüllen. Gruß aus Berlin Michael
Hallo Michael schön dass es nun funktioniert wenn das alles etwas sortierter ist und man mal eine beständigere Bezugsquelle für die Uhr findet wäre es ja durchaus sinnvoll eine Schritt-für-Schritt-Anleitung zu erstellen wenn es aber nirgendwo diese Uhren mehr gibt weiß ich nicht ob sich das lohnt.
Aaron C. schrieb: > wenn es aber nirgendwo diese Uhren mehr Ist scheinbar schon ein "älteres" Modell. Ich habe meine bei Ali für 22€ inkl. Versand bestellt. Irgendwie hat's doch gejuckt ;)
:
Bearbeitet durch User
Moin nochmal, musste nun das Pinout minimal ändern, GPIO 0.16 ist der CS Pin vom KX023 Accel sensor. Wird benötigt um ihn im SPI Modus zu nutzen, anbei das Geänderte Pinout. EDIT CS ist natürlich Output. Es fehlt nun nur noch der Helligkeits Sensor, dieser wird normalerweise über einen analog Pin gelesen es zeigt aber kein analog Eingang eine Änderung bei veränderten Lichtverhältnissen, könnte nur sein das man der Diode vorher noch Spannung geben muss durch einen anderen Pin, habe aber nichts gefunden.
:
Bearbeitet durch User
Interessanter Artikel. Bin auch mit BLE als Steuerungsmodul am experimentieren allerdings mit der Dialog-Familie DA145xx/146xx. Habe noch 2 Fitness-Tracker mit nRF 52382 bei Bangood gefunden. 1. bakeey Z6. 2. 3C HR. Kosten unter 20$. Grüße an Autor fritsche
fritsche schrieb: > Interessanter Artikel. > Bin auch mit BLE als Steuerungsmodul am experimentieren allerdings mit > der Dialog-Familie DA145xx/146xx. > Habe noch 2 Fitness-Tracker mit nRF 52382 bei Bangood gefunden. > 1. bakeey Z6. 2. 3C HR. Kosten unter 20$. > > Grüße an Autor > fritsche Cool, hast du da möglichkeiten gefunden die Dialog chips umzuprogrammieren? Soll ja auch einige uhren geben die auch dialog chips beinhalten. Bestelle mir mal die beiden uhren, danke. Grösste problem ist immer die zerstörungsfreie öffnung, das lässt sich ja nur ausprobieren :)
Die Tracker können sich natürlich in den Sensoren unterscheiden aber die CPU ist identisch aber für einen Technikfreak eine Herausforderung. Zur DA1458x und 1468x Serie bin ich seit ca. 1 Jahr am experimentieren/recherchieren, besonders was die ARM M0 Programmierung in Verbindung mit den BLE-Fähigkeiten betrifft. Habe mit dem einfachen CUBOT V1 angefangen und über J-Link die Programmierung analysiert, aber keine Modifikation vorgenommen, lediglich zum Verständnis. Der DA1468x ist eine eierlegende Wollmilchsau. BLE im ROM, grosser Flash, 50Ohm Ausgangsimpedanz bei 0dBm, USB Connectivity und Lipo-Charger onboard und das bei ca 4-5mA Gesamtstrom im Betrieb. Die Programmierumgebung von Dialog in Verbindung mit Segger und Keil ist ausgesprochen professionell. In aktuellen Tracker wird der DA14585 in Verbindung mit unterschiedkichen Sensoren und Displays gerne eingebaut,teilweise auch schon der DA14681. Die Änderung des Trackerprogramms am nRF52382 für individuelle Lösungen finde ich interessant, könnte aber noch detailreicher sein, da keine Konkurrenz oder Copyrightsituation dem entgegen steht Z.B. Schnittstellenprogrammierung und ihre Spezialitäten, die BLE-Programmierung und die verschiedenen Einstellungen -Advertising-etc. Vielleicht wird der ein oder andere Interesse an dem Thema finden. Weiter so.
Hier nun noch ein Update, https://youtu.be/aEAqb7rIzeM Pulssensor und Bewegungssensor funktionieren nun in einem Sketch Der Accl Sensor wird nun über spi angesteuert, und der Pulssensor über SoftI2C, eigentlich könnte man den Accl auch über I2C nutzen, hatte es anders versucht um Alles in Hardware I2C und SPI anzusteuern aber es ist nur möglich entweder I2C oder SPI1 zu nutzen. Wie im Video erwähnt löst blöderweise der Interrupt trotz Deaktivierung aus, das hat aber denke ich was mit der Arduino IDE zu tun, da gibt es irgendwo einen BUG. Hier wird ein ähnliches verhalten beschrieben aber auch ohne Lösung: https://devzone.nordicsemi.com/f/nordic-q-a/9157/wakeup-immediately-from-sd_app_evt_wait-with-external-lfclk @Friedhelm Mit der NRF5x Variante sind wir da ja bis jetzt noch deutlich besser dran.
Hallo, Aaron C. schrieb: > Pulssensor und Bewegungssensor funktionieren nun in einem Sketch schön das zu hören. Sei doch großzügig und hänge den Sketch hier an. ;) Ich komme im Moment nicht richtig dazu, weiterzumachen. Meine Pläne gehen auch weniger dahin, die Originalfunktionalität nachzubilden, trotzdem ist es gut, wenn das geht und ich schaue da schon gern ab. Ich werde mich erstmal mit BLE auseinadersetzen, die Richtung: ein ESP32 als Bridge mit BLE zur Uhr und WLAN zum MQTT-Broker in meinem Netz. Nur einen Textstring mit einem MQTT-Topic bei Bedarf von Uhr zu ESP bzw. ESP zur Uhr schicken. Als Fernbedienung und/oder als Anzeige ohnehin vorhandener Daten von FHEM. Natürlich darf sie gern auch weiterhin Pulsrate usw. anzeigen, wenn ich das möchte, ist mir aber erstmal weniger wichtig. PS: kannst Du tft.enterSleep/exitSleep vielleicht auch noch hier reinwefen? Ich hoffe mal, ich bin nicht zu ausverschämt... Gruß aus Berlin Michael
Aaron C. schrieb: > SoftI2C Warum?: >The GPIOs used for each two-wire interface line can be chosen from any >GPIO on the device and are independently configurable.
Michael U. schrieb: > schön das zu hören. Sei doch großzügig und hänge den Sketch hier an. ;) Na klar, ist jetzt als rar Datei da mehrere Files. > PS: kannst Du tft.enterSleep/exitSleep vielleicht auch noch hier > reinwefen? > Ich hoffe mal, ich bin nicht zu ausverschämt... Hier eine kurze Beschreibung der enter- Exit sleep Funktion. Damit wird der Display Kontroller schlafen gelegt da eine erneute Initialisierung zu lange dauert und die Uhr dann ca. 2 sekunden zum aufwachen braucht. Hier die Installation davon, im Library Ordner Adafruit_ST7735_and_ST7789_Library in der datei: Adafruit_ST7735.cpp funktion: void Adafruit_ST7735::enterSleep(void) { startWrite(); writeCommand( ST7735_SLPIN ); endWrite(); } void Adafruit_ST7735::exitSleep(void) { startWrite(); writeCommand( ST7735_SLPOUT ); endWrite(); } hinzufügen. und in der datei Adafruit_ST7735.h void enterSleep(void); void exitSleep(void); die beiden Zeilen in ca. Zeile 64 Hinzufügen um die Funktion bekannt zu machen. zusätzlich noch bei dem #define block die beiden Register Addressen definieren, ca. Zeile 33 #define ST7735_SLPIN 0x10 #define ST7735_SLPOUT 0x11 @RF-softie Das Problem ist hierbei die Arduino-Nrf52 Library, jede Hardware Braucht einen Interrupt und das I2c Nutzt den SPI1 Interrupt für sich, wenn man Gleichzeitig versucht den SPI1 Port zu nutzen geht da was schief das sie beide darauf zugreifen wollen. ist hier auch etwas beschrieben: https://github.com/sandeepmistry/arduino-nRF5/issues/189 Man müsste in der NRF52 Core was ändern damit es funktioniert. grüße
:
Bearbeitet durch User
Hallo, Aaron C. schrieb: > Na klar, ist jetzt als rar Datei da mehrere Files. Danke für die mundgerechte Erklärung. :-) In diesem Fall hätten es sogar die Funktionen alleine getan, den Rest hätte ich soagr hinbekommen. ich habe noch nicht weiter reingeschaut, habe auch jetzt erstmal keine Zeit, aber:
1 | D:\Arduino-1.8.8-nRF\portable\packages\sandeepmistry\hardware\nRF5\0.6.0\variants\Generic/variant.h:82:34: warning: large integer implicitly truncated to unsigned type [-Woverflow] |
2 | |
3 | #define PIN_SPI_MISO (-1u) // P0.22 |
4 | |
5 | ^ |
6 | |
7 | D:\Arduino-1.8.8-nRF\portable\packages\sandeepmistry\hardware\nRF5\0.6.0\variants\Generic/variant.h:88:29: note: in expansion of macro 'PIN_SPI_MISO' |
8 | |
9 | static const uint8_t MISO = PIN_SPI_MISO ; |
10 | |
11 | ^ |
Gruß aus Berlin Michael
kein Problem. Die Fehlermeldung entsteht durch die Angabe des - 1 Pins der PIN wird für die spi Schnittstelle nicht gebraucht man könnte dort auch z.b. 9 eintragen. Da an diesem pin scheinbar nichts angeschlossen ist oder in Arduino die Log Einstellung auf keine oder Standard ändern bin gerade unterwegs ist so aus dem Kopf Achso vielleicht könnte man auch das unsigniert int in ein int Ändern dann dürfte er normalerweise nicht mehr meckern, also dass u einfach löschen
:
Bearbeitet durch User
Die pin im variant als Int zu definieren hat leider nicht viel geholfen, Fehlermeldung bleibt. Habe heute auch 3 Weitere Uhren erhalten und 2 davon sind garnicht mal so schlecht. Nr 1 Amaz*n 15,99 Prime, https://amzn.to/2S2prFc IPS Color Display Hat auch einen NRF52 und ungenutzte usb data pins, Pinout konnte ich innerhalb 2 stunden sehr weit raus meßen und rumprobieren, siehe bild. Einizges Problem, uhr lässt sich ohne Zerstörung öffnen man muss nur noch rausfinden wie sie sich vernünftig wieder schließen lässt, mit Sekunden Kleber will ich da nicht bei weil die dämpfe meist Rückstände auf der innen Seite des Plastik beim Display hinterlassen. Insgesamt ein nettes teil und verfügbar. IWHOP Nr 2 E*ay 10,99 aus China http://rover.ebay.com/rover/1/707-53477-19255-0/1?icep_ff3=2&pub=5575152713&toolid=10001&campid=5337805879&customid=&icep_item=253401420779&ipn=psmain&icep_vectorid=229487&kwid=902099&mtid=824&kw=lg Oled 0,66" Hat einen NRF51 aber keine ungenutzten data pin, lässt sich dafür leicht öffnen und schließen. Habe mich damit nicht weiter Pinout mäßig beschäftigt da mich das OLED nicht wirklich Reizt. Ist witziger weise der gleiche Hersteller IWHOP
:
Bearbeitet durch User
Hallo, Aaron C. schrieb: > Nr 1 Amaz*n 15,99 Prime, https://amzn.to/2S2prFc ok, habe ich eben morgen auch noch ein zweites Modell... ;-) Gruß aus Berlin Michael
Michael U. schrieb: > ok, habe ich eben morgen auch noch ein zweites Modell... ;-) Sehr gut :D Habe gerade scheinbar den Transistor für die Hintergrundbeleuchtung durchgejagt. weiß leider nicht genau ob versehentlich ein Kurzschluss verursacht wurde oder ob die Beleuchtung nicht dauernd auf volldampf sein darf. Also vielleicht lieber mit analogWrite auf 70% gehen. Achso, und ich musste mittels J-Link und NRFgo ein Recovery durchführen um überhaupt auf den NRF52 zuzugreifen. Ich denke das der Chip Gelockt ist und dadurch wird er entsperrt. Habe etwas gesucht ob dies auch mit dem St-Link funktioniert aber noch nichts eindeutiges gefunden. Leider findet man nicht viel zu dem Beschleunigungssensor, könnte ein KX126 sein.EDIT Leider kein KX126 er spricht auf die adresse 0x27 per i2c an finde aber nicht wirklich einen chip im netz der die adresse hat. Suche noch etwas weiter. Auf dem Chip steht 310 07F
:
Bearbeitet durch User
Hallo, Aaron C. schrieb: > Nr 1 Amaz*n 15,99 Prime, https://amzn.to/2S2prFc > > IPS Color Display hmmm, Verwirrung: Uhr ist gerade angekommen und lädt jetzt erstmal, das "Handbuch" sagt OLED 0,96" Muß ich im Moment nicht verstehen... Gruß aus Berlin Michael
Michael U. schrieb: > Hallo, > > Aaron C. schrieb: >> Nr 1 Amaz*n 15,99 Prime, https://amzn.to/2S2prFc >> >> IPS Color Display > > hmmm, Verwirrung: Uhr ist gerade angekommen und lädt jetzt erstmal, > das "Handbuch" sagt OLED 0,96" > Muß ich im Moment nicht verstehen... > > Gruß aus Berlin > Michael Meist steht da ja quatsch im handbuch wegen schlechter übersetzung und buzz wörtern. Display müsste ja nun schon an sein wenn es so ein hochkannt display ist wie bei der anderen uhr ist es ein ips display. Mir ist kein Oled in der bauform bekannt. Zum öffnen mit einem fön das gehäuse erwährmen und m8t etwas sehr dünnem so wie ein cuttermesser ganz leicht und vorsichtig die seiten anheben bis eine ecke hochkommt, dann kann man mit dem fingernagel weitermachen. Habe gestern abend noch erfolgreich den Bewegungssensor ansteuern können :) Ist ein MSA300 und ein datasheet gibt es nur bei lcsc zum download, durch die andere uhr ging es aber sogar recht einfach mit dem ansteuern
Nachschub ist da, heute abend gibt es weitere infos.
Als Läufer und Hobby Programmierer finde ich das Thema interessant. Ich habe bei Aliexpress 20$ Uhren mit NRF52 inklusive GPS gefunden.. bei Amazon ab 50€ inklu GPS. Frage ist jetzt, Werbe Trick oder nicht.. Für mich machts erst richtig mit GPS Spaß.
Toto mit Harry schrieb: > Als Läufer und Hobby Programmierer finde ich das Thema interessant. > > Ich habe bei Aliexpress 20$ Uhren mit NRF52 inklusive GPS gefunden.. bei > Amazon ab 50€ inklu GPS. > > Frage ist jetzt, Werbe Trick oder nicht.. Für mich machts erst richtig > mit GPS Spaß. Es gibt aufjedenfall auch welche mit GPS, wäre da aber wirklich vosichtig, viele machen die angabe gps running oder so und nutzen dann aber nur die App bzw. das handy dafür.
Einfach mal bestellt: https://www.aliexpress.com/item/Greentiger-W7-smart-bracelet-GPS-heart-rate-smart-wristband-fitness-tracker-Music-Control-Sport-Smart-band/32922427015.html Wo bekomtm man jetzt eine Standard günstig her, sind die 15,99€ bei Amazon minimum? Aaron C. schrieb: > Nachschub ist da, heute abend gibt es weitere infos. Gibts die so in Masse günstiger?
Toto mit Harry schrieb: > Einfach mal bestellt: > https://www.aliexpress.com/item/Greentiger-W7-smart-bracelet-GPS-heart-rate-smart-wristband-fitness-tracker-Music-Control-Sport-Smart-band/32922427015.html > > Wo bekomtm man jetzt eine Standard günstig her, sind die 15,99€ bei > Amazon minimum? > > Aaron C. schrieb: >> Nachschub ist da, heute abend gibt es weitere infos. > > Gibts die so in Masse günstiger? Die Uhr aus dem Original Beitrag gibt es leider derzeit nur für 34€ zu kaufen. Die 2. Also die https://amzn.to/2S2prFc ist mit 15,99€ die beste preislich gesehen aber nicht ganz so gut zu verschließen wie die für 34€ Die von den neusten Fotos Liegen Teils bei 5€ und Teils bei 10€ Pro stück, bestelle lieber gleich mehr, falls da was gutes dabei ist will ich nicht nochmal warten bis die aus China hier sind. Die 2 Versionen Rechts auf dem Bild sind bei Aamz*n mit Prime Bestellt und liegen bei 10€ das Stück, Leider lassen die sich nicht gut öffnen wären aber wirklich ideal da Hardware stimmt, das Gehäuse wird jeweils zerstört. Also wer nur Billige Hardware sucht ist da gut aufgehoben. Hier der Ama*on Link: https://amzn.to/2BdallJ Hatte einmal die 2018 und einmal die Blue Version bestellt ist bei beiden das gleiche drin nur etwas anders angeordnet. NRF52832 0.96" IPS Display Flash Speicher und Font Speicher auf dem PCB KX023 Bewegungssensor. Die anderen Uhren Haben Jeweils einen Telink TLSR8266 mit 512Kb Flash Sie werden über eine SWS Schnittstelle Programmiert leider findet man keinen Programmier Adapter und keine Richtigen Infos. Wäre für 5€ Perfekt und lassen sich super easy öffnen und schließen. Hier der E*ay Link: http://rover.ebay.com/rover/1/707-53477-19255-0/1?icep_ff3=2&pub=5575152713&toolid=10001&campid=5337805630&customid=&icep_item=153332792159&ipn=psmain&icep_vectorid=229487&kwid=902099&mtid=824&kw=lg
:
Bearbeitet durch User
Beitrag #5723040 wurde vom Autor gelöscht.
Hm okay, also ich kann stm32 programmieren und habe auch etliche Programmer da, SWD hab ich auch.. ich würde erstmal nur versuchen die Bilder der Uhr auszutauschen.
Habe das jetzt auch mal soweit wie im Video gemacht, Bootloader flashen ging schonmal ausversehen. jetzt habe ich anstatt ein blaues Ladezeichen ein weisses.. Das Ino selbst kan nicht geflasht werden. Rein erfahrungsgemäss würde ich sagen der reset fehlt :/ Aber im Video werden ja auch nur dei 2 SWD benutzt?
Toto mit Harry schrieb: > Habe das jetzt auch mal soweit wie im Video gemacht, Bootloader flashen > ging schonmal ausversehen. jetzt habe ich anstatt ein blaues Ladezeichen > ein weisses.. > > Das Ino selbst kan nicht geflasht werden. Rein erfahrungsgemäss würde > ich sagen der reset fehlt :/ > > Aber im Video werden ja auch nur dei 2 SWD benutzt? Wäre jetzt jedenfalls die frage welche Uhr du genau hast, der code der hier hochgeladen ist, ist für die I6HRC uhr und funktioniert ohne weitere Änderungen nicht an anderen Uhren. Der SWD Port braucht kein Reset das wird Software seitig gemacht. Wie bist du nun vorgegangen ? hast du die https://github.com/sandeepmistry/arduino-nRF5 arduino library installiert? hast du einen J-Link zur hand ? damit könnte man schonmal mit dem NRFGo Programm schauen was die uhr sagt.
Aaron C. schrieb: > Wäre jetzt jedenfalls die frage welche Uhr du genau hast, der code der > hier hochgeladen ist, ist für die I6HRC uhr und funktioniert ohne > weitere Änderungen nicht an anderen Uhren. Ich habe die 15,99€ genommen.. gehäuse leider gedamaged.. bestelle ich nochmal. :D > Der SWD Port braucht kein Reset das wird Software seitig gemacht. Achso ja. > Wie bist du nun vorgegangen ? hast du die > https://github.com/sandeepmistry/arduino-nRF5 arduino library > installiert? Ja genau. > hast du einen J-Link zur hand ? damit könnte man schonmal mit dem NRFGo > Programm schauen was die uhr sagt. nei nur den stlink vom f4Discovery.. lässt sich leide rnicht zum jlink umflashen.
Aaron C. schrieb: > Achso, und ich musste mittels J-Link und NRFgo ein Recovery durchführen > um überhaupt auf den NRF52 zuzugreifen. > Ich denke das der Chip Gelockt ist und dadurch wird er entsperrt. Habe > etwas gesucht ob dies auch mit dem St-Link funktioniert aber noch nichts > eindeutiges gefunden. Hatte in dem Beitrag noch das "Problem" der 15,99€ Uhr benannt, schaue sonst jetzt noch mal ob auch ohne J-Link ein Recovery geht. Melde mich gleich
Das https://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/ Klapt auch nicht bei deinem f4Discovery ?
So hier ein fund, wenn ein BluePill(http://rover.ebay.com/rover/1/707-53477-19255-0/1?icep_ff3=2&pub=5575152713&toolid=10001&campid=5337805879&customid=&icep_item=232742912052&ipn=psmain&icep_vectorid=229487&kwid=902099&mtid=824&kw=lg) Board oder ein Black Magic Probe vorhanden ist wäre hier eine Lösung: https://github.com/AndruPol/nrf52832-recover/blob/master/README.md
habe ich alles schon probiert, leider nicht.. Bluepill hab ich denke ich noch da. Mach dann mal wann anders weiter. Danke für die Tips :)
Alles klar, soweit nen schönen abend, habe nun doch noch etwas weiter mit der 9,99€ Ama*on Uhr Probiert, https://amzn.to/2SbxqzF also bei der Version Blue V10 ist es möglich das obere glas ab zu nehmen und direkt am nrf52 Chip an den swd Port zu gehen, ist zwar super fummel kram aber es funktioniert, danach kann die front wieder draufgeklebt werden. Das Sketch müsste dann natürlich endgültig sein, oder es geht mit OTA weiter. Hier gibt es noch eine anleitung wie der chip zurückgesetzt werden kann mit dem St_link
:
Bearbeitet durch User
Hallo, wollte mich nur kurz mal melden: bei der ersten (teueren) Uhr habe ich jetzt erfolgreich das Display gebrochen, mit der ist also erstmal Ruhe im Karton... Displays hatte ich in China ohnehin schon bestellt, mal schauen, was ich da mache, wenn die irgendwann ankommen. Uhr 2 (15,99€) steht zumindest zum "Abschuß" bereit, wie ich gelesen habe, kann ich mein onBoard-ST-Link vom STM32Nucleo-Board zum J-Link umflaschen, das Zeug habe ich mir mal zusammengesucht. Mal schauen, wann ich dazu komme. Die 9,99€ Uhr ist auch schon da, die gefällt mir im Moment noch im Originaglzustand ganz gut (ohne die APP), die darf noch etwas so bleiben. 2 der ebay-Uhren sind auch noch bestellt... Reicht mir dann auch. ;-) Gruß aus Berlin Michael
Michael U. schrieb: > Uhr 2 (15,99€) steht zumindest zum "Abschuß" bereit, wie ich gelesen > habe, Bei der Uhr habe ich zwar erstmal falsch angesetzt und damit das Gehäuse zerstört.. aber das geht auch anders. Im Prinzip kann man vielleicht mit Wärme nur das displayglas abziehen, alles hochklappen, 2 drähte unter dem IPS auf den USB anlöten und unsichtbar wieder verschliessen. Das wäre dann perfekt gemoddet. Das mit dem Jlink hat bei meinem STM32F4 Discovery nicht geklappt, ich versuche das nochmal mit dem Bluepill.
Beitrag #5725358 wurde von einem Moderator gelöscht.
Man kann auch übrigens einen Bluepill mit J-Link Firmware flashen. Nennt sich dann "J-Link OB", ist ein Projekt von Segger für Stm32. Allerdings meldete Arduino dabei das kein J-Link gefunden wurde obwohl der richtig im Gerätemanager angezeigt wurde.
Hier hat RogerClark auch etwas dazu geschrieben, werde das aufjedenfall mal testen, mit dem Großen J-Link zu hantieren ist auf dauer doch nervig. https://www.stm32duino.com/viewtopic.php?t=2140 https://github.com/GCY/JLINK-ARM-OB jedenfalls nen guter Fund, danke dafür Dort steht ja das man PA4 und PA7 mit 100Ohm Kurzschließen soll, vielleicht fehlte das ja bei dir noch.? oder hattest du eine ganz andere Firmware gefunden ? grüße
Habe gerade mal einen bluepill Board damit programmiert und es wird von dem nrf go studio einwandfrei erkannt es sollte direkt noch ein Firmware Update gemacht werden. Hast du in Arduino denn den jlink Unter Programmiergerät ausgewählt der wird da normalerweise nicht angezeigt habe es aber auch nie hinbekommen mit dem anderen richtigen jailing unter Arduino zu programmieren glaube da war mal was Das Freischalten müsste eh in dem nrf go studio gemacht werden
:
Bearbeitet durch User
Ich hatte die gleiche Quelle, allerdings auch keine Zeit um weiter nachzuschauen. Gelesen hatte ich das mit der Brücke auch. Werde mich wohl gegen Wochenende mit dem nrfgo richtig ransetzen. Der Jlink war im Gerätemanager korrekt installiert, vielleicht hat der OB eine veränderte Device ID. Das BlackmagicProbe ging auch soweit, konnte nur den Chip nicht finden.
So, habs nun einmal komplett getestet. mit der Hex datei von https://github.com/GCY/JLINK-ARM-OB kann man ein BLuePill board zum Jlink Bo flashen und mit NrfGo den NRF52 Erfolgreich Unlocken/Recovern. Flashen über Arduino lässt sich der NRF52 jedoch nicht mit dem J-Link das Liegt aber an der NRF Arduino Library das dort etwas nicht stimmt. Grüße
Aaron C. schrieb: > So, habs nun einmal komplett getestet. Super, danke. Gibt es eigentlich schon nachgecodete Arduino Firmwares die an die Originalen kommen?
Leider noch nichts direkt in die richtung, das grundgerüst dafür ist aber gegeben das ja alles an hardware funktioniert. Habe die tage noch etwas mit dem Display gespielt und die Bildwiederholrate probiert, hier ein kurzes video wie der stand ist. Es ist kein Scanning effect zu erkennen und das Fuß bild braucht ca. 32ms bis es aktualisiert ist, das gesamte Display braucht um 76ms. Es sieht in echt deutlich schöner aus, kann man leider nicht so gut filmen. https://youtu.be/Vh0BEcJgxoM
:
Bearbeitet durch User
Aaron C. schrieb: > Flashen über Arduino lässt sich der NRF52 jedoch nicht mit dem J-Link > das Liegt aber an der NRF Arduino Library das dort etwas nicht stimmt. Arduino generiert im Hintergrund ein Hexfile (der Pfad ist im kopilierfenster zu finden) ungefähr so... C:\Users\"Benutzer"\AppData\Local\Temp\arduino_build_XXXXXX\ Das müsste sich dann eigentlich über NRFGo flashen lassen.
:
Bearbeitet durch User
Das konnte ich nun auch erfolgreich testen! Der die das NRFgo Programm meckert zwar das ein Emulator nicht verbunden sei es wird die HEX Datei aber erfolgreich geschrieben und läuft danach auch an. Wenn man ein Verify macht läuft dieses auch erfolgreich ab.
Arduino mit J-Link funktioniert jetzt: aus dem wiki ;) Driver Setup for Segger J-Link Download Zadig Plugin Segger J-Link or DK board Start Zadig Select Options -> List All Devices Plug and unplug your device to find what changes, and select the Interface 2 from the device dropdown Click Replace Driver NOTE: To roll back to the original driver go to: Device Manager -> Right click on device -> Check box for "Delete the driver software for this device" and click Uninstall
Aaron C. schrieb: > Das konnte ich nun auch erfolgreich testen! Wenn ich jetzt Dein Beispiel Ino auf das 15€ Band laden möchte, muss ich da noch irgendwas beachten? Ic habe es mal hochgeladen und de rbildschirm bleibt schwarz. Wie sieht das aus bei den 10€ teilen.. muss man da die pins noch herausfinden oder gibt es da schon vorgefertigte configs?
Toto mit Harry schrieb: > Aaron C. schrieb: >> Das konnte ich nun auch erfolgreich testen! > > Wenn ich jetzt Dein Beispiel Ino auf das 15€ Band laden möchte, muss ich > da noch irgendwas beachten? Ic habe es mal hochgeladen und de > rbildschirm bleibt schwarz. > > Wie sieht das aus bei den 10€ teilen.. muss man da die pins noch > herausfinden oder gibt es da schon vorgefertigte configs? von dem 15€ teil hatte ich noch gar kein code hochgeladen, hier einer anbei. zu beachten ist das dort die variant auch mit geändert werden muss und die Adafruit Library st7735 st7789. Das Pinout ist weiter oben hochgeladen werde mich wohl weniger mit den 15€ teilen beschäftigen da die 10€ Bänder erstmal interessanter sind. Habe das nun bei mir so gemacht das ich eigene boards für die verschiedenen bänder erstellt habe und dann werde ich in den Variant.h Files das pinout genau definieren dann sollte der code immer recht variable für die verschiedenen bänder sein. Bei den 10€ Dingern habe ich gestern Abend das pinout rausgefummelt und auch einen test code erstellt
:
Bearbeitet durch User
Aaron C. schrieb: > von dem 15€ teil hatte ich noch gar kein code hochgeladen, hier einer > anbei. > zu beachten ist das Pinout habe ich gefunden.. danke für deine mühe, da ist noch irgendwo der Wurm drin, backlight habe ich selbst in den code gebracht, zeigt nur nichts an.. Ich würde ja soweit klarkommen wenn ich das richtige Pinout hätte. Übrigens gibt es noch einen "Arduino nrf52 Core" der die RTC initialisiert.
Aahh sorry hier die richtige Variant.h sind ja nun doch ein paar mehr verschiedene :D war der letzte satz eine frage? wenn ja kann das wohl die Adafruit NRF52 core und eine die heist glaube ich RedBear, das offiziele Arduino board Primo hat das aufjedenfall integriert, hatte aber nicht geschafft dies mit einem Custom Board zum laufen zu bekommen. https://github.com/arduino-org/arduino-core-nrf52 werde mich damit auch als nächstes beschäftigen da eine uhr nur mit aktivierten RTC in deepsleep funktionieren würde.
:
Bearbeitet durch User
Die SPI Pins hatte ich mir natürlich schon angepasst.. leider passiert da nichts. Muss ich mich wohl von Anfang an selbst durchfuchsen :) Also mein Ziel ist für das erste eine funktionierende lowpower Uhr mit hintergrund und transparenten Colored Bmp Fonts. habe im Prinzip schon alles zusammen, muss jetzt nur den Start hinbekommen.
Mhh schade, wenn die Hintergrundbeleuchtung schonmal an geht liegt es ja scheinbar an der display ansteuerung?! mehr als das hochgeladene habe ich aber leider auch nicht.
Aaron C. schrieb: > mehr als das hochgeladene habe ich aber leider auch nicht. hattest du aber schon am laufen mit dem Pinout vom Zettel?
ja, habe ja auch das bild mit hochgeladen, am späten abend hatte ich dann auch den Accel am laufen und das ist auch das Hochgeladene sketch vielleicht sonst das ganze mit der UCGLIB probieren vielleicht liegt es ja ander Adafruit library.
Hm.. jetzt hab ich ausversehen das softdevice mit Lock geschrieben und der Chip ist mausetod. Vielleicht eine Idee?
Toto mit Harry schrieb: > Hm.. jetzt hab ich ausversehen das softdevice mit Lock geschrieben und > der Chip ist mausetod. > > Vielleicht eine Idee? mhh könnte mir nur die lösung mit nrfgo und dort auf recovery gehen vostellen. dann ja mit dem j-link
Habe mich wie "versprochen" heute noch weiter mit dem Timer und RTC beschäftigt, konnte erfolgreich einen RTC timer auf 1 Sekunde setzen und er zählt auch schön im deep sleep weiter, leider geht der chip dann aber nie richtig in den deep sleep und zieht weiterhin 7mA. Anbei der code dafür. Nach dem ich nun stundenlang rumprobiert habe merkte ich nun das der millis() counter eh auch im Deepsleep weiterläuft.... ich meine gelesen zu haben das der auch über den Low Frequenz Quarz läuft also auch recht genau sein müsste. Nochmal nachgeschaut: uint32_t millis( void ) { uint64_t ticks = (uint64_t)((uint64_t)overflows << (uint64_t)24) | (uint64_t)(NRF_RTC1->COUNTER); return (ticks * 1000) / 32768; } uint32_t micros( void ) { uint64_t ticks = (uint64_t)((uint64_t)overflows << (uint64_t)24) | (uint64_t)(NRF_RTC1->COUNTER); return (ticks * 1000000) / 32768; } die millis() kommen vom LowFreq Quarz und laufen über den RTC1 Timer
:
Bearbeitet durch User
Ja Danke, ich mache erstmal die Grafik.. Mit der neuen Uhr funktioniert jetzt auch das Display via Adafruit, nur irgendwie invertiert oder RGB/BGR Fehler.
Toto mit Harry schrieb: > Ja Danke, ich mache erstmal die Grafik.. > > Mit der neuen Uhr funktioniert jetzt auch das Display via Adafruit, nur > irgendwie invertiert oder RGB/BGR Fehler. Ja es gibt da verschiedene versionen vom display. In der library kann man in der datei https://github.com/adafruit/Adafruit-ST7735-Library/blob/master/Adafruit_ST7735.cpp Bei set rotation alle ST77XX_MADCTL_RGB in ST7735_MADCTL_BGR Ändern, müssten 4 stück sein. Falls am rand eine komische linie sein sollte muss man noch die _colstart und _rowstart werte ändern. Bin gerade aber unter wegs. Der eine 4 pixel und der andere 2 pixel Erste uhr versuche laufen auch erfolgreich. Per bluetooth wird vom handy beim neustart ein unixtimestamp gesendet und mit der normalen Time library verarbeitet.
:
Bearbeitet durch User
Ich werde mich da mal Step by Step befassen. auf den beiden Bildern zu sehen stimmt da noch was nicht.. Das RGB hatte ich schon gleich versucht, das ganze Display war invertiert.
Sieht ja schon gut aus, ja danach kann man noch nach dem Display Init tft.invertDisplay(true); hinzufügen um dann die richtigen Farben zu haben. und es sieht auch nach der linie am rand aus, dazu hier die änderung: in datei Adafruit_ST7735.cpp habe ich bei zeile 241 folgendes hinzugefügt: // #define pcbspi #ifdef pcbspi _colstart = 26; _rowstart = 1; #else _colstart = 24; _rowstart = 0; #endif dafür halt die vorherige col und rowstart rausgenommen. da bei den verschiedenen Uhren mal ein rand ist und mal nicht kann man es durch das define leichter verändern, das rausklammern oder halt nicht. Schwer das so zu schreiben hoffe du verstehst es trotzdem.
:
Bearbeitet durch User
Habe nun auch mal ansatzweise ein Menü gebastelt obere taste blättert durchs Menü und die untere macht eine Aktion. Dazu noch eine Android App die die Unixzeit automatisch ins Gatt schreibt, so muss man nicht hin und her kopieren.
Jo nicht schlecht.. Aus dem README, komisch dasman dasüberliest ;) Low Frequency Clock Source (LFCLKSRC) If the selected board has an external 32 kHz crystal connected, it will be used as the source for the low frequency clock. Otherwise the internal 32 kHz RC oscillator will be used. The low frequency clock is used by the delay(ms) and millis() Arduino API's. The Generic nRF51 and nRF52 board options have an additional menu item under Tools -> Low Frequency Clock that allows you to select the low frequency clock source. However, Nordic does not recommend the Synthesized clock, which also has a significant power impact.
Ich habe mich mal an dei Adafruit ST7735 Library rangesetzt.. Ich habe mir eigene Funktionen für das Schreiben von RGB24 Bitmaps aus dem Flash geschrieben.Mit den vorhandenen Funktionen RGB565/uin16_t Pixel gab es bei mir Farb Verfälschungen/Vertauschungen dadieBytes zigmal geflippt und getauscht wurden. (Ich habe ein eigenes Java Tool für andere Displays zur Array/Bitmapkonvertierung ) Hiermal das aktuelle Beispiel, das einzige Delay im Loop ist dasSchreiben via SPI.. theoretisch sollten 25FPS klappen. Die Farben kommen der Realität erst so ab Sekunde 10 nahe. https://www.youtube.com/watch?v=gbP1K4Dh-H8
Das ganze hier nochmal mit Hintergrundbild und Transparenz.. Sieht in Echt weit besser aus.. so wie das Beispiel Bild der "0" oben.. https://www.youtube.com/watch?v=DRtssCMCqlw
Cool das sieht doch echt gut aus, hast du da schon den Sketch für uns? das Font ist schick!
Ja, leider muss man die ST7735Library wegen 24bit init und neuen Funktionen mittauschen. wenn ich die Bilder endlich in RGB565 ala Adafruit konvertieren kann, geht das auch Original.
Sollte jetzt auch mit der Standard Library laufen.. Anbei noch das Konverter Tool.. Einfach die Bilder durchnummeriert (P0.bmp, P1.bmp) in den gleichen Ordner kopieren und das Tool starten. Danach nur noch den Array aus test.h in den Sketch kopieren.
Toto mit Harry schrieb: > Da war noch eine Zeile im Sketch falsch. Sehr schön, hat sofort funktioniert, sieht echt gut aus. Habe gestern noch was in ne andere Richtung gebastelt. aus einem alten Supermarkt E-Ink Display eine Quasi BLE uhr. Das Innenleben von einem Fitness Tracker, bis auf Display, in das Gehäuse gesetzt und das Steuert mit fast der Gleichen Uhr Firmware das E-Ink Display.
Beitrag #5731735 wurde vom Autor gelöscht.
Das sieht schon gut aus, haste mal den aktuellen Sketch von etwas vorher bei dem soweit funktionierende Peripherie dabei ist? Irgendwie gibts bei meinem sketch noch einen Anzeigefehler bei Vollbild Bildern.. der war zwischendurch auch mal weg. (jede zweite Zeile irgendwie verrutscht) Ich benutze im moment noch kein Softdevice, das muss ich extra flashen?
Bei den Trackern ist ja auch ein Flash mit drauf, dort könnte man Grafiken etc oder Daten speichern. Spätestens vielleicht einige Offline Logs als Ringbuffer wenn man den Pulssensor aktiviert bekommt.
Habe so nicht weiter mit dem 15€ teil weitergemacht, könnte also nur das von dem I6HRC oder den 10€ Teilen teilen da ich da derzeit mehr mit mache. Dann müsste man im Sketch noch die Pins ändern. der Flash hat jedenfalls potenzial da intern ja leider nur der RAM vorhanden ist. Hab nun auch endlich geschafft den RTC2 Timer vernünftig zu starten und der NRF52 wacht nun jede Minute einmal von alleine auf und macht sein ding und schläft wieder ein, das war mir gerade wichtig für die E-Ink Geschichte. Dazu musste ich aber direkt in der Library die Wiring und die Delay files Bearbeiten.
Beitrag #5733652 wurde vom Autor gelöscht.
Hier einmal der Aktuellste Code mit dem "Menü", dazu noch ein kurzes video: https://youtu.be/0H17iZJA-oQ
wie hast du eigentlich den Flash beim 15€ Tracker ausgeklingelt, gibt es dafür ein Datasheet? die meisten 25er haben noch einen Hold Pin, der ist garnicht in der Pinliste aufzufinden.
Toto mit Harry schrieb: > wie hast du eigentlich den Flash beim 15€ Tracker ausgeklingelt, gibt es > dafür ein Datasheet? die meisten 25er haben noch einen Hold Pin, der ist > garnicht in der Pinliste aufzufinden. Ja das ist in mühseliger mess und pcb studierung entstanden. Der hold pin ist dauerhaft auf 3.3V also High, bzw glaube der ist mit auf dem Power Ausgang für den Flash das weiß ich gerade nicht mehr genau. Aber den müsste man eigentlich ignorieren können, habe mich damit auch noch nicht weiter beschäftigt werde das aber wohl mit als nächstes tun. Mfg
Okay, ich komme im moment mit umgeschriebenen und angepassten Librarys für die 25er Serie nicht weiter, mache da erstmal Pause.
Da tut sich doch was.. man darf sich nur nich auf die Libraries verlassen ;)
Also bei der Cotify habe ich den SPI Chip soweit angesprochen bekommen.. scheint der Standard Befehlssatz der 25er Serie zu sein. JEDECID: ChipVendor:0x5E Chip Type: 0x40 Chip Size: 0x14 Egal was ich mache, der Chip nimmt keinen Write/Erase Befehl an. (Byte für Byte Manuell probiert, auch über Libs) Die vorhandenen Bytes auszulesen klappt.
Toto mit Harry schrieb: > Also bei der Cotify habe ich den SPI Chip soweit angesprochen bekommen.. > scheint der Standard Befehlssatz der 25er Serie zu sein. > > JEDECID: > ChipVendor:0x5E > Chip Type: 0x40 > Chip Size: 0x14 > > > > Egal was ich mache, der Chip nimmt keinen Write/Erase Befehl an. (Byte > für Byte Manuell probiert, auch über Libs) > > Die vorhandenen Bytes auszulesen klappt. Ich meine es gibt noch einen Write Protect pin, dieser wird auch geschaltet?, habe das aber leider immer noch nicht weiter verfolgt. wenn das auslesen soweit schon funktioniert ist das ja aber super. ich habe das pinout von hier: https://cdn.sparkfun.com/assets/learn_tutorials/6/9/4/M25P16.pdf Anbei noch die Variant file dür die 10€ Uhr mit V10inBlau
Hallo, ich beschäftige mich mit Thema ESP32 Bluetooth und Fitness Armband. Ich wollte eine Brücke mit dem ESP32 zwischen Internet (MQTT Hausautomatisierung)und fitness tracker bauen. Um z.B. kleine nachrichten zu empfangen ohne Smartphone. Aber Anmeldeprozess mit Mi Band 2 war zu kompliziert. ESP32 selbst als Smartuhr ist ungeiegenet wegen 120mA Stromverbrauch. Bis jetzt habe ich nur iBeacon Präsenz Schalter gebaut. http://esp32-server.de/ibeacon-itag-praesenz-schalter/
Hallo, Mischa N. schrieb: > Bis jetzt habe ich nur iBeacon Präsenz Schalter gebaut. > http://esp32-server.de/ibeacon-itag-praesenz-schalter/ im Moment erstmal Danke für Deinen Code, das bringt mich auf ein paar Ideen. Die Geschichte ESP32 als Bridge zu MQTT steht ja auch auf meinen Plänen, im Moment komme ich nicht so richtig dazu, eine der anderen Uhren zu präparieren, nachdem ich der ersten und teuersten... ;) ihr Display zerknackt habe... Gruß aua Berlin Michael
Mischa N. schrieb: > Bis jetzt habe ich nur iBeacon Präsenz Schalter gebaut. > http://esp32-server.de/ibeacon-itag-praesenz-schalter/ Die Beacon Idee finde ich super, könnte mir gut vorstellen an alle möglichen Sachen einen Beacon zu kleben und man erhält Push nachrichten wenn sie das haus verlassen. Habe heute auch eine Fitness Tracker mit integriertem GPS erhalten, leider ist dass Gehäuse super verklebt. Gibt es auf Ama*on für 58€ https://amzn.to/2IfKfo1 oder bei E*ay für 23€ aus Hamburg vom china zwischenlager: http://rover.ebay.com/rover/1/707-53477-19255-0/1?icep_ff3=2&pub=5575152713&toolid=10001&campid=5337805630&customid=&icep_item=253828099784&ipn=psmain&icep_vectorid=229487&kwid=902099&mtid=824&kw=lg Wurde per DHL geliefert. Kann mir vorstellen das es mit Erwärmung des Gehäuses besser aufgeht, war aber zu ungeduldig :D
:
Bearbeitet durch User
Interessantes Teil. Hast du mal die App getestet? Ist die brauchbar? Und muss man sich in einer Cloud anmelden, also China - Server o.ä.?
900ss D. schrieb: > Interessantes Teil. Hast du mal die App getestet? Ist die brauchbar? Und > muss man sich in einer Cloud anmelden, also China - Server o.ä.? Habe die app selber noch nicht runtergeladen oder weiter getestet. Sie heist "hi move" kann man ja auch ohne tracker mal laden.
Ist ja witzig. Die app ist scheinbar aus dem Playstore gelöscht.
Ich suche auch gerade und kratze mir den Kopf ;)
900ss D. schrieb: > Ich suche auch gerade und kratze mir den Kopf ;) Über google findet man einen download, leider weis man dort ja nie was da noch mit reingemoddet wurde. Komisch das die app bis 18.1.2019 noch aktualisiert wurde.
Deshalb lass ich es auch :) Mal sehen ob ich Bock hab, mir das Teil zu kaufen. Mit dem GPS find ich sie nochmal spannender. Aber da wird es noch aufwendiger, das GPS anzusprechen. Wenn es ein bekannter Chip ist, dann wohl nicht.
900ss D. schrieb: > Deshalb lass ich es auch :) > > Mal sehen ob ich Bock hab, mir das Teil zu kaufen. Mit dem GPS find ich > sie nochmal spannender. Aber da wird es noch aufwendiger, das GPS > anzusprechen. Wenn es ein bekannter Chip ist, dann wohl nicht. Ist ein ublox G7020 also wird das standart nmea sein :) da gibt es ja jede menge Arduino beispiele. Du willst es doch auch :D
:
Bearbeitet durch User
Oder das Binary Protokoll. NMEA wäre wirklich einfach. Ja klar will ich, aber ob ich Zeit habe ;)
Aaron C. schrieb: > 900ss D. schrieb: >> Ich suche auch gerade und kratze mir den Kopf ;) > > Über google findet man einen download, leider weis man dort ja nie was > da noch mit reingemoddet wurde. > > Komisch das die app bis 18.1.2019 noch aktualisiert wurde. Hier: http://download.keeprapid.com/apps/smartband/himove/index.html gibt es die app vom hersteller, da sollte also nichts böseres als eh drin sein. Gerade etwas nachgeschaut, die App kann man ohne registrierung nutzen aber es werden trotzdem diverse daten zum api.keeprapid.com server gesendet. Darunter ist vorallem auch die genaue gps position, wird scheinbar für die wetterdaten benötigt.
:
Bearbeitet durch User
So habe mich heute Abend mal an den Flash Speicher gemacht und kann ihn erfolgreich auslesen und schreiben, leider geht das wirklich soweit ich gefunden habe nicht mit einer Library also habe ich von Hand Funktionen geschrieben die das auslesen und schreiben machen. Hier ein Datenblatt was am besten zu dem vorhanden 25f08 flash passt: https://cdn.datasheetspdf.com/pdf-down/P/N/2/PN25F08-PARAGON.pdf dort werden die lese und Schreibvorgänge sehr gut beschrieben. Habe mir zum besseren rumprobieren einen Flash speicher ausgelötet und direkt verdrahtet... zum glück sind das nur 8 Pins :D Anbei ein Beispiel Sketch in diesem Fall für die V10 Blue Version. Das Sketch Löscht zuerst den gesamten Flash Speicher, schreibt dann von Adresse 256 bis 512 werte von 0 -256 und gibt danach nach und nach den ersten teil des speichers aus und zeigt ihn auf dem Display an. Zudem kann man den Flash und auch den Font Chip mittels SPI Kommando in den Deep Sleep bringen, habe das nun mit in meine andere Firmware mit eingebaut und komme jetzt auf einen Stromverbrauch von ca. 38uA im sleep Mode der Uhr, vorher waren es ca. 68uA. Ich bin zufrieden Nachdem Kennenlernen des Flash Speichers habe ich nochmal in das Datasheet des Font Speichers geschaut, die haben eigentlich die gleichen Kommandos und werden gleich angesteuert. Der Font Flash Chip hat auch noch 64kByte Frei beschreibbaren speicher, da der Font Chip auch auf der I6HRC uhr vorhanden ist kann man das sehr gut nutzen.
:
Bearbeitet durch User
Ich habe es bei meiner 15€ nicht anders gemacht.. nichtmal der einfache Chip Erase geht durch. Ich habe schon länger mit jedenfalls den Winbonds zu tun.. die benutze ich bei STM32 als Bilderspeicher. Daher wart der Protect Pin klar, ich habe es sogar direkt gemessen. Bei mir sind mitlerweile 2 TFTs kaputt.. das openframe/rumgemesse tut denen wohl nicht so gut. Muss ich mal schauen, der rest funktioniert.
Toto mit Harry schrieb: > Ich habe es bei meiner 15€ nicht anders gemacht.. nichtmal der einfache > Chip Erase geht durch. Ich habe schon länger mit jedenfalls den Winbonds > zu tun.. die benutze ich bei STM32 als Bilderspeicher. Daher wart der > Protect Pin klar, ich habe es sogar direkt gemessen. Nerkwürdig das es bei dir nicht funktioniert hat, geht es mit dem sketch von mir? Habe es mittlerweile bei 3 uhren erfolgreich getestet.
Habe den Sketch mal ausprobiert.. aber der 2ten Bank/Sektor sind noch Daten da.. das gleiche wie bei "meinem zu Fuß". Einen Chip Erase zu Senden ist ja nicht so schwer und sehr übersichtlich. Habe auch mit dem Multimeter das High am Protect Pin überprüft, sowie die Protect Bits überprüft.
Toto mit Harry schrieb: > Habe den Sketch mal ausprobiert.. aber der 2ten Bank/Sektor sind noch > Daten da.. das gleiche wie bei "meinem zu Fuß". > > Einen Chip Erase zu Senden ist ja nicht so schwer und sehr > übersichtlich. > > Habe auch mit dem Multimeter das High am Protect Pin überprüft, sowie > die Protect Bits überprüft. Versuche mal am besten die Beiden Status Register auszulesen, es kann sein das bei Software eine Schreibsperre gesetzt ist. dazu 0x05 für das erste und 0x35 für das zweite senden und den byte der zurückkommt am besten auf dem Display ausgeben, sollten beide nach einem neustart 0x00 sein wenn kein write protect gesetzt ist.
Hackaday hat den Thread entdeckt: https://hackaday.com/2019/02/20/custom-firmware-for-cheap-fitness-trackers/
Jo Nice, das Projekt an sich ist ja schon älter.. aber was die ganzen Uhren angeht machste Dir ja echt viel Mühe ;) Ich habe mir mal diese bestellt.. hoffentlich geht das Glas gut ab. https://de.aliexpress.com/item/Blutdruck-Smart-Armband-Sport-Band-Herzfrequenz-Stoppuhr-Fitness-Tracker-Wasserdichte-Uhr-Smart-Uhr-f-r-M/32857269667.html
Hallo, ich habe die Möglichkeit mir die GATT Services, Characteristics und Descriptors anzeigen zu lassen, kann aber damit nichts anfangen. Wie finde ich heraus, welchen String ich an welche Stelle (UUID) schreiben muss, um z.B. die Uhrzeit an den Tracker zu schicken? Oder wo ich z.B. die Messwerte auslesen kann? Mir fehlt da ein Bausteinchen. Danke, Robert
napsi schrieb: > Hallo, > ich habe die Möglichkeit mir die GATT Services, Characteristics und > Descriptors anzeigen zu lassen, kann aber damit nichts anfangen. > Wie finde ich heraus, welchen String ich an welche Stelle (UUID) > schreiben muss, um z.B. die Uhrzeit an den Tracker zu schicken? Oder wo > ich z.B. die Messwerte auslesen kann? Mir fehlt da ein Bausteinchen. Ich verstehe dein Problem nicht? Mit der NRF Connect App kannst du sehen welche services und welche Charakteristiken dein Peripheral hat. Es gibt mehrere Services (teilweise vordefiniert; z.B, Device Infomations Service) Jeder Service kann mehrere Charakteristiken haben. Also für den Device Info Service: Hersteller charakteristik Modell Charakteristik Seriennummer charakteristik usw... Jeder Service und jede Charakteristike hat eine Eindeutige UUID Auf App Seite muss du wissen auf welcher Charakteristik welche Daten gelesen/geschrieben werden Auf Mikrocontroller seite sendest oder ließt du auf der bestimmten chrakteristik. App und Firmware müssen natürlich zueinander passen. Deswegen gibt es ja vordefinierte Services. Diese kannst du direkt in der Firmware einbinden und nutzen
:
Bearbeitet durch User
Ich vermute das er in diesem fall speziell die hochgeladene tracker firmware meint. Dort muss in dieser Charakteristik 2A15 , der unixtime stamp als long oder int32 geschrieben werden. Der unixzeit muss noch die zeitzone in sekunden addiert werden, oder halt abgezogen jenachdem wo mann ist. Wenn gewollt kann ich später die app hier hochladen mit der ich meine tracker und das eink display einstelle, dort wird bei start eine ble suche gestartet und man kann das gerät auswählen. Danach drückt man einfach den button zeit einstellen. Ist zwar nicht viel funktion drin aber dafür reicht es. Mfg
Danke für Eure Nachrichten! Zuerst nochmal vielen Dank, Aaron, dass Du Deinen Hack mit anderen teilst. Ich habe mir zum spielen einen Tracker geholt und wollte nun, wo er noch nicht kaputtgebaut ist, testen, wie die Bluetoothfunktionen aussehen und funktionieren. Mit Bluetooth LE habe ich noch nicht viel zu tun gehabt, nur mit den älteren Versionen und dem Serial Port Profile, aber das ist ja ein anderer Schuh. Ich habe Windowsprogramm, welches mit einem Bluegiga-USB-Dongle Verbindung zu einem BTLE-Gerät herstellen kann und die Services / Characteristics, ... anzeigen kann. Ebenso könnte ich Daten darüber senden. Mit dem Programm konnte ich eine Verbindung mit dem Tracker herstellen. Jetzt wäre mein nächster Schritt, einfach mal die Uhr in dem Ding zu stellen, oder andere Funktionen zu testen. (Heart Rate auslesen o.ä.). Doch dazu bräuchte man eine Art Dokumentation des Trackers oder den Quellcode der Hersteller-APP, und beides ist nicht verfügbar, richtig? Der Tipp mit der NRF connect App war auch super, habe ich getestet und sehe dort auch die GATT-Parameter des Trackers. Sorry nochmal, dass ich so Anfänger-Fragen stelle, aber beginne wie gesagt erst mit BTLE. Gibt es eine empfehlenswerte Doku Intro Tutorial / HowTo über BTLE und den Einstieg? Danke!
napsi schrieb: > Danke für Eure Nachrichten! Zuerst nochmal vielen Dank, Aaron, dass Du > Deinen Hack mit anderen teilst. Ich habe mir zum spielen einen Tracker > geholt und wollte nun, wo er noch nicht kaputtgebaut ist, testen, wie > die Bluetoothfunktionen aussehen und funktionieren. Mit Bluetooth LE > habe ich noch nicht viel zu tun gehabt, nur mit den älteren Versionen > und dem Serial Port Profile, aber das ist ja ein anderer Schuh. Ich habe > Windowsprogramm, welches mit einem Bluegiga-USB-Dongle Verbindung zu > einem BTLE-Gerät herstellen kann und die Services / Characteristics, ... > anzeigen kann. Ebenso könnte ich Daten darüber senden. > Mit dem Programm konnte ich eine Verbindung mit dem Tracker herstellen. > Jetzt wäre mein nächster Schritt, einfach mal die Uhr in dem Ding zu > stellen, oder andere Funktionen zu testen. (Heart Rate auslesen o.ä.). > Doch dazu bräuchte man eine Art Dokumentation des Trackers oder den > Quellcode der Hersteller-APP, und beides ist nicht verfügbar, richtig? > Der Tipp mit der NRF connect App war auch super, habe ich getestet und > sehe dort auch die GATT-Parameter des Trackers. > > Sorry nochmal, dass ich so Anfänger-Fragen stelle, aber beginne wie > gesagt erst mit BTLE. Gibt es eine empfehlenswerte Doku / Intro / > Tutorial / HowTo über BTLE und den Einstieg? > > Danke! Moin. Bitte sehr :) Bevor ich nun weitere fragen beantworte frage ich erst nochmal nach. Du hast derzeit noch die originale firmware installiert ? Wenn ja ist das ein ganz anderer schuh, hier gehts ja eigentlich nur um eine Custom firmware. Habe mir natürlich auch die Original App und firmware angesehen das protokoll etwas entschlüsselt. Hätte zudem ein link zu dem source code der IWOWNFIT entwickler App möchte den aber eher ungern einfach so posten da in deren website diverse sicherheits lücken sind, keine ahnung wieso ist alles super offensichtlich aber naja ^^ Mit dem source code kann man sich eine eigene app mit android studio erstellen und dort auch das protokoll gut mitlesen und ändern. Jeder hersteller macht bei seinem fitness tracker natürlich ein eigenes protokoll also selbst das kann man nicht unbedingt verallgemeinern. Ich warte nun aber erstmal deine antwort ab.
Ja genau, ich habe noch die originale Firmware auf dem Tracker und wollte die Gelegenheit nutzen, um mir BTLE anzusehen. Okay, Du beschäftigst Dich mit einer Custom firmware, mit der die Sensoren ausgelesen werden können und das Display angesteuert wird. Hast Du auch vor, die komplette BTLE-Funktionalität einzubauen, also wird mit Deiner Arduino-Firmware dann auch ein GATT-Server bereitgestellt und genutzt zur Verbindung zwischen einer APP und dem Tracker? Musst Du dafür den gesamten BTLE-Stack implementieren? > Habe mir natürlich auch die Original App und firmware angesehen das protokoll etwas entschlüsselt. Da stellt sich mir die Frage, wie Du zum Code der Originalfirmware gekommen bist - kann man den von der Uhr herunterladen? Eher nicht, oder? > Hätte zudem ein link zu dem source code der IWOWNFIT entwickler App möchte den aber eher ungern einfach so posten da in deren website diverse sicherheits lücken sind, keine ahnung wieso ist alles super offensichtlich aber naja ^^ Könntest Du ihn mir mailen? (jim.panse ät gmx punkt li ) > Mit dem source code kann man sich eine eigene app mit android studio erstellen und dort auch das protokoll gut mitlesen und ändern. Genau in diese Richtung habe ich gedacht... > Jeder hersteller macht bei seinem fitness tracker natürlich ein eigenes protokoll also selbst das kann man nicht unbedingt verallgemeinern. Schade, also wird es nicht irgendwann eine open source app geben, die mit allen Trackern funktioniert, von den Nutzern immer weiter erweitert wird und nicht unkontrolliert irgendwelche Daten an den Hersteller schickt ... Viele Grüße
napsi schrieb: > Okay, Du beschäftigst Dich mit einer Custom firmware, mit der die > Sensoren ausgelesen werden können und das Display angesteuert wird. Hast > Du auch vor, die komplette BTLE-Funktionalität einzubauen, also wird mit > Deiner Arduino-Firmware dann auch ein GATT-Server bereitgestellt und > genutzt zur Verbindung zwischen einer APP und dem Tracker? Musst Du > dafür den gesamten BTLE-Stack implementieren? Dies ist bereits in der Arduino firmware vorhanden, ist sehr einfach zu implementieren durch diese https://github.com/sandeepmistry/arduino-BLEPeripheral library, dort sich auch ein paar beispiele dabei die einem helfen BLE zu verstehen. > Da stellt sich mir die Frage, wie Du zum Code der Originalfirmware > gekommen bist - kann man den von der Uhr herunterladen? Eher nicht, > oder? Den code der Firmware kann man im falle von der I6HRC tatsächlich einfach von der Uhr runterladen da keine auslese-sperre gesetzt ist, ist natürlich nicht der Sourcecode sondern Assembler dafür kann man aber IDA benutzen um es etwas leserlicher zu machen, kann IDA empfehlen ist aber dann eine ganz andere Geschichte und ein eigenes Projekt für sich :D Viel mehr meine ich damit aber die App dort kann man den Sourcecode wirklich fast genau wieder aus der App Decompilern. http://www.javadecompilers.com/apk Wenn man in der Original App das Android:Debuggable auf True setzt kann man Via Logcat sehr viel mitlesen was die App im Hintergrund macht, auch jegliches gesendete BLE Kommando und jedes empfangene. > Könntest Du ihn mir mailen? (jim.panse ät gmx punkt li ) > Genau in diese Richtung habe ich gedacht... Sonst hier der Link, wird schon nicht so schlimm sein und ist ja eh öffentlich im internet zu finden: http://api6.iwown. * com/devcenter/home.html sternchen wegnehmen. > und nicht unkontrolliert irgendwelche Daten an den Hersteller Das werden wir bestimmt nie erleben :D Hoffe ich konnte dir helfen und es liest sich nicht allzu merkwürdig, so viel nach dem aufstehen zu schreiben ist tödlich... Grüße
Habe mich heute noch an ein Video über die Installation der SWD Ports gesetzt: https://youtu.be/0Fu-VSuKHEg hoffe das hilft jemmandem, ist etwas lang geworden aber sehr genau beschrieben.(Auf English)
Hmmm.... Danke, ich hab die Kontakte heute so fertig gemacht. Hatte irgendwann ein Foto von der Rückseite der Platine gesehen und dass dort die Kontaktierung möglich ist. Also mal vorsichtig alles auseinander gepopelt. Ob es jetzt funktioniert, weiß ich nicht. Das Wetter ist zu gut ;) Test kommt heute Abend.
Hallo, dank des ausführlichen Videos hat das Einlöten der SWD-Verbindung in die i6HRC super geklappt. Flashen des Softdevice per J-Link funktioniert auch. Aber mit der Adafruit nrf52 Library bekomme ich keine Firmware kompiliert. Hat jemand eine funktionierende Konfiguration aus variant.h und board-definition? Bin für jeden Tipp dankbar!
Konstantin W. schrieb: > Aber mit der Adafruit nrf52 Library bekomme ich keine Firmware > kompiliert. Moin, Welche Fehlermeldung wird in der Arduino IDE angezeigt? dann könnte man besser sehen woran es liegt. Es müsste sich jedes sketch auch mit dem generic nrf52 board kompilieren lassen. Dort ist dann noch wichtig das Softdevice S132 auszuwählen und es muss noch der Mod installiert werden das die NFC pins als GPIO genutzt werden können. Ist weiter oben im Thread beschrieben. > Hat jemand eine funktionierende Konfiguration aus variant.h und > board-definition? Anbei die Varants files und auch der inhalt der noch bei Boards hinzugefügt werden muss. Damit hat man dann ein ganz eigenes Board für die I6HRC hoffe es hilft. Grüße
:
Bearbeitet durch User
Die Firmware von Aaron ist doch mit/für die Library von Sandeepmistry, oder? Damit wäre die Adafruit NRF52 Library nicht 100% kompatibel. Welche Fehler bekommst du denn angezeigt?
John P. schrieb: > Die Firmware von Aaron ist doch mit/für die Library von Sandeepmistry, > oder? > > Damit wäre die Adafruit NRF52 Library nicht 100% kompatibel. > > > > Welche Fehler bekommst du denn angezeigt? Richtig. Habe das Adafruit überlesen. Damit hat es bei mir auch noch garnicht funktioniert. Alle meine sketches bauen auf dieser library auf: https://github.com/sandeepmistry/arduino-nRF5
Aaron C. schrieb: > Alle meine sketches bauen auf dieser library auf: Wobei hier Beitrag "Re: Arduino Custom Firmware für Fitness Armband mit NRF52" steht, dass die Adafruit die bessere Wahl zu sein scheint. Ich bin da leider stecken geblieben und kann da nichts zu sagen. Hab meine Uhr umgebaut, dass ich sie über den USB-Anschluß flashen kann und dann kam was anderes ;)
Hallo, nachdem ich bei der ersten erfolgreich das Display zerlegt hatte und über einen Austausch wegen des "Touch" noch nicht ernsthaft nachgedacht habe und auch andere Sachen Vorrang hatten... Hier liegen ja noch; Aaron C. schrieb: > Nr 1 Amaz*n 15,99 Prime, https://amzn.to/2S2prFc Aaron C. schrieb: > habe nun doch noch etwas weiter mit der 9,99€ Ama*on Uhr Probiert, > > https://amzn.to/2SbxqzF Aaron C. schrieb: > oder bei E*ay für 23€ aus Hamburg vom china zwischenlager: > http://rover.ebay.com/rover/1/707-53477-19255-0/1?icep_ff3=2&pub=5575152713&toolid=10001&campid=5337805630&customid=&icep_item=253828099784&ipn=psmain&icep_vectorid=229487&kwid=902099&mtid=824&kw=lg in der Gegend rum. Welche davon kann man relativ problemlos öffnen und kommt an an die Programmierpins gut ran? Ich habe da etwas den Überblick verloren. Die China-5€ Uhr lasse ich mal wegen des CPU-Exoten erstmal außer acht. Vielleicht hast Du ja da nochmal einen Hinweis oder Verweis auf eins Deiner Videos? Dann würde ich mit programmieren durchaus gern mitspielen. Gruß aus Berlin Michael
Michael U. schrieb: > Hier liegen ja noch; > Aaron C. schrieb: >> Nr 1 Amaz*n 15,99 Prime, https://amzn.to/2S2prFc > > Aaron C. schrieb: >> habe nun doch noch etwas weiter mit der 9,99€ Ama*on Uhr Probiert, >> >> https://amzn.to/2SbxqzF > Die beiden sind relativ einfach zu öffnen und zu schließen insgesamt kann ich aber dennoch am meisten die i6hrc empfehlen das Touch lässt sich dort auch recht leicht lösen und du könntest ein Display der anderen Uhren dort einbauen. bei den beiden Uhren müsstest du das Gehäuse etwas erhitzen und kannst es dann mit einem Cuttermesser oder ähnlichem auseinander drücken. @900ss Bei der adafruit library bin ich leider nie weiter gekommen es hält mich immer noch davon ab dass das Flashen nicht so einfach wie bei der anderen geht. ich konnte zwar kompilieren den Code auf die Uhr zu bekommen ist dort aber umständlicher wenn man von vorne rein damit arbeiten würde denke ich schon dass man da reinkommt bin mit dem anderen aber glücklich.
:
Bearbeitet durch User
@Aaron C.: Danke für die Dateien. Ich bin testweise auf die Library von sandeepmistry umgestiegen. Nach einer frischen Installation über den Boardmanager und dem Einfügen deiner Änderungen klappt es nun. Die Firmware kompiliert und mit Softdevice 2.0.1 läuft sie auch. Damit bin ich jetzt erstmal zufrieden und kann mich dem restlichen Code widmen. Es wäre natürlich trotzdem schön, das ganze mit der Adafruit-Library zum laufen zu kriegen um Softdevice 6.1.1 nutzen zu können. @John P.: Läuft das bei dir mit der i6HRC? Kannst du Dateien zur Verfügung stellen? Die Fehlermeldungen, die bei mir kamen, bezogen sich auf fehlende #defines in der variant.h.
Konstantin W. schrieb: > @John P.: > Läuft das bei dir mit der i6HRC? Kannst du Dateien zur Verfügung > stellen? > > Die Fehlermeldungen, die bei mir kamen, bezogen sich auf fehlende > #defines in der variant.h. Nein, habe selber keine Tracking/Health Geräte hier. Ich arbeite jeden Tag beruflich mit dem NRF52 und finde natürlich auch diesen Thread sehr spannend. Durch meine Tätigkeiten habe ich 3 Verschiedene NRF52 Arduino Librarys getestet: Die von sandeepmistry, Redbear und Adafruit. Aktuell arbeite ich nur noch mit der von Adafruit. Einzig und allein weil sie moderner ist und mehr Features bietet. - BLE 5.0 support - Update via BLE - Sehr gute Dokumentation - mit dem NRF52840 kompatibel Leider ist das flashen umständlicher. Erst das Softdevice mit JLink flashen danach nur noch mit einem USB-UART Kabel den bootloader nutzen...Arduino mäßig. Außerdem ist die Library etwas verschwenderisch wasd den Strom angeht. Man kommt beim NRF52 auf 5µA runter (BLE Advertising) Mit der Adafruit library schafft man nur 200µA (ohne im Source Code rumzupfuschen) Da ich aber sowieso ständig den Source Code ändere stört mich das weniger. Die Firmware von Aaron baut auf die sandeepmistry Library auf. Die Adafruit Library baut auch auf die sandeepmistry library auf. Trotzdem muss sicherlich einiges angepasst werden. Und die fehlenden defines werden nur der Anfang sein.
:
Bearbeitet durch User
@Aaron C. Du hattest hier Beitrag "Re: Arduino Custom Firmware für Fitness Armband mit NRF52" freundlicherweise ein Pinout zur Verfügung gestellt. Vielen Dank für die Mühe. Das muss wirklich aufwendig sein, dass rauszufummeln. :) Hast inzwischen rausfinden können ob Pin 7 (GPIO 0.05) spi MISO vom Font Chip ist? Und hast du deine SW für die Uhr noch weiter ausgebaut? Z.B. Schrittzähler? Wäre nett wenn du das hier posten könntest.
900ss D. schrieb: > @Aaron C. > > Du hattest hier > Beitrag "Re: Arduino Custom Firmware für Fitness Armband mit NRF52" > > freundlicherweise ein Pinout zur Verfügung gestellt. Vielen Dank für die > Mühe. Das muss wirklich aufwendig sein, dass rauszufummeln. :) Dauert halt echt etwas länger aber ab dem zweiten Tracker hatte ich ein System, als erstes teste ich jeden Pin und toggle ihn 500ms an 500ms aus, dadurch findet man meist schon Hintergrundbeleuchtung und Vibrationsmotor. Danach das Display um werte anzuzeigen, dann alle möglichen Eingänge (ob analog oder digital) auf dem Display anzeigen und mal Ladegerät anschließen, Batterie Spannung ändern, Touchfeld drücken usw. Die i2c Leitungen durch einen i2c Scanner den ich alle restlichen pins nach und nach nach Geräten suchen lasse. > Hast inzwischen rausfinden können ob Pin 7 (GPIO 0.05) spi MISO vom Font > Chip ist? Es müsste zu 90% der MISO pin sein, man kann die Leiterbahn deutlich auf der Platine erkennen. Getestet ist dies aber nicht. Und wie oben auch mal erwähnt hat der Chip sogar 64Kb Flash speicher, man kann ihn auch sinnvoll nutzen, ist im ersten Beitrag ja noch falsch angegeben. > Und hast du deine SW für die Uhr noch weiter ausgebaut? Z.B. > Schrittzähler? Wäre nett wenn du das hier posten könntest. Habe mich in letzter zeit etwas mit anderen Sachen beschäftigt, wurde aber nun schon mehrfach für Projekte angefragt also das wird noch was kommen :) Schrittzähler ist leider nicht einfach, der KX023 kann das nicht On Board, man muss also die Bewegungsdaten analysieren und sehen ob ein schritt erfolgt ist, andere Accel Sensoren sind da einfacher dort kann man einfach die anzahl der schritte auslesen.
:
Bearbeitet durch User
Aaron C. schrieb: > Es müsste zu 90% der MISO pin sein Ok, werde ich dann merken. Muss auch erstmal soweit sein. Ich versuch egerade mir etwas mit PlatformIO zu basteln da ich die Arduino Umgebung nicht mag. Und mit PlatformIO hab ich noch nie gearbeitet ;) Aaron C. schrieb: > Schrittzähler ist leider nicht einfach Hab ich auch schon gesehen und mal etwas gegraben, wie man soetwas denn macht. Dabei hab ich folgende interessanten "Artikel" gefunden. Die haben das "zu Fuß" entwickelt und scheinen recht erfolgreich gewesen zu sein. https://github.com/danielmurray/adaptiv
900ss D. schrieb: > Aaron C. schrieb: >> Es müsste zu 90% der MISO pin sein > > Ok, werde ich dann merken. Muss auch erstmal soweit sein. Ich versuch > egerade mir etwas mit PlatformIO zu basteln da ich die Arduino Umgebung > nicht mag. Und mit PlatformIO hab ich noch nie gearbeitet ;) PlatformIO habe ich bissher auch nicht verwendet, ich mag es da etwas einfacher, Arduino IDE kann man mal eben auf nem neuen Rechner installieren und es läuft, wenn es auch ein paar sachen gibt die stören. > Hab ich auch schon gesehen und mal etwas gegraben, wie man soetwas denn > macht. Dabei hab ich folgende interessanten "Artikel" gefunden. Die > haben das "zu Fuß" entwickelt und scheinen recht erfolgreich gewesen zu > sein. > > https://github.com/danielmurray/adaptiv Das sieht sehr gut aus. Da kann man sicherlich was abschauen.
Da derzeit die Fitness Tracker die es auf dem Markt gibt mit 10-20 einen super Bastel Preisbereich erreicht haben, habe ich jede menge unterschiedliche Modelle bestellt um den Besten Bastel Kandidat ausfindig zu machen.
@Aaron: Ich bekomme beim kompilieren von deinen Sourcen diesen Fehler tft.writePixel((byte & 0x80) ? color : bg); I6HRC_Menu.cpp:331:35: error: no matching function for call to 'Adafruit_ST7735::writePixel(int)' Welche Library hast du für das TFT verwendet? Kannst du sie bitte hier zur Verfügung stellen oder einen Link posten? Danke dir.
Moin. Ich nutze soweit die Adafruit_st7735 library die gibt es hier auf github: https://github.com/adafruit/Adafruit-ST7735-Library Zusätzlich habe ich dort aber noch änderungen eingebaut, diese sind in diesem beitrag und einigen drüber und drunter beschrieben: Beitrag "Re: Arduino Custom Firmware für Fitness Armband mit NRF52" Wünsche nen schönen abend.
@Aaron: Erst einmal vielen vielen dank für die Arbeit die du auf dich genommen hast. Das machte mir das Leben so viel leichter :) 900ss D. schrieb: > Aaron C. schrieb: >> Es müsste zu 90% der MISO pin sein Ich kann bestätigen das der GPIO 0.05 der MISO Pin vom GT24L24A2Y FontChip ist. Zur zeit kann ich hin zwar nur auslesen, der rest kommt aber noch. Aaron C. schrieb: > Bis auf den Lichtsensor ist soweit jede Hardware von mir getestet und > funktioniert soweit unter Arduino Spannend ist immer noch der Lichtsensor. Gibt es dort Neuigkeiten? Es bleiben ja nur noch: P0.29 AIN5 P0.31 AIN7 Ich hatte leider keinen Erfolg den Sensor zu finden (oder ich halte da was falsch).
Richard schrieb: > Ich kann bestätigen das der GPIO 0.05 der MISO Pin vom GT24L24A2Y > FontChip ist. Zur zeit kann ich hin zwar nur auslesen, der rest kommt > aber noch. Sehr gut dann ist das jedenfalls bestätigt, bei der 15€ Uhr konnte ich den flash speicher ja bereits erfolgreich lesen und schreiben, ist ja sehr gut im Datenblatt beschrieben. Man muss beim font speicher ja nur auf die richtige Adresse achten dann sollte das 1 zu 1 gehen, Beitrag "Re: Arduino Custom Firmware für Fitness Armband mit NRF52" > Spannend ist immer noch der Lichtsensor. Gibt es dort Neuigkeiten? Es > bleiben ja nur noch: > P0.29 AIN5 > P0.31 AIN7 > Ich hatte leider keinen Erfolg den Sensor zu finden (oder ich halte da > was falsch). Ja habe da auch schon jede menge durchprobiert, alles von andere pins high oder low oder pulsen etc. leider ohne erfolg soweit. e scheint als wäre auf dem pcb auch eine Möglichkeit einen anderen Sensor zu installieren, vielleicht ist die Diode ja gar nicht echt ein Sensor und es ist fake?! naja also soweit ich noch gelesen habe muss man die LED unter Spannung setzen und kann dann mit einem spannungsteiler die Lichtstärke als analoges Signal messen. die Hardware dafür ist ja da also müsste es schon funktionieren.
Aaron C. schrieb: > Moin. > > Ich nutze soweit die Adafruit_st7735 library die gibt es hier auf > github: > https://github.com/adafruit/Adafruit-ST7735-Library > > > Zusätzlich habe ich dort aber noch änderungen eingebaut, diese sind in > diesem beitrag und einigen drüber und drunter beschrieben: > Beitrag "Re: Arduino Custom Firmware für Fitness Armband mit NRF52" > > Wünsche nen schönen abend. Danke dir. Ich habe jetzt die neuesten Versionen von Adafruit-ST7735 Adafruit-GFX und deine Änderungen mit dem enterSleep exitSleep eingefügt. und ich bekomme diese Meldungen immer noch.
1 | W:\Arduino\I6HRC_Menu\I6HRC_Menu.ino: In function 'void mdrawBitmap(int16_t, int16_t, const uint8_t*, int16_t, int16_t, uint16_t, uint16_t)': |
2 | |
3 | I6HRC_Menu:287:48: error: no matching function for call to 'Adafruit_ST7735::writePixel(uint16_t&)' |
4 | |
5 | tft.writePixel((byte & 0x80) ? color : bg); |
Es gibt auch nirgends eine passende Funktion in den Sourcen der Libs. Die habe alle mehr Parameter. Welche Versionen benutzt du denn? Oder kannst du Libs hier mal anhängen. Das ist schräg. Ich verwende gerade die Arduino IDE. Wenn es damit klappt, steige ich wieder um auf PlatformIO. Aber erstmal sollte das funktionieren, was du auch hast.
900ss D. schrieb: > Aber erstmal sollte das funktionieren, was du auch hast. So, nach nun vielem hin und her habe ich das Problem gefunden, ich hatte bei mir die GFX library in Version 1.3.6 installiert da gibt es die Funktion noch. in der Aktuellen Version kann man sie aber hinzufügen: in der Datei Adafruit_SPITFT.h in ca. Zeile 197 eine neue Zeile einfügen void inline writePixel(uint16_t color) { SPI_WRITE16(color); } Da die andere vorhandene Funktion zu langsam ist empfehle ich diesen weg zu gehen. Achso und nur das dies bekannt ist, es gibt irgendwo noch einen fehler in meinem sketch, immer mal wieder, so alle 20 stunden hängt sich die cpu auf und der watchdog timer schlägt zu. Danach ist die uhrzeit nicht mehr gestellt. wenn man nun eh eine ständige verbindung zum handy hat ist dies ja lösbar, ohne jedoch etwas nervig. Warum das so ist konnte ich noch nicht ausfindig machen da es so selten aufrtitt. Manchmal kann man einen absturz aber auch hervorrufen wenn man extrem oft den pulssensor ein und auschaltet.
:
Bearbeitet durch User
So, nun ist es raus. Der Lichtsensor ist der Pin P0.31 und die Sensor Led wird über Pin P0.29 Aktiviert. Der Grund weswegen ich es nicht rausgefunden hatte ist ein defekt von dem 1.Tracker den ich zum programmieren genommen hatte. Bei einem weiteren funktioniert dies nun einwandfrei. Sensor Aktiv ist HIGH Also Pin P0.29 High setzen und dann den Analogwert von P0.31 einlesen. Je heller die Umgebung umso Höher der wert.
:
Bearbeitet durch User
Aaron C. schrieb: > So, nach nun vielem hin und her habe ich das Problem gefunden, Danke schön. Jetzt funktioniert es bei mir auch, mit der Arduino-Umgebung gebaut und sandeepmistry und deinen Sourcen. Das kann ich als Basis nehmen bzw. ich möchte es ja auf Platformio bringen. Mal schauen. Nur mein Telefon wollte sich per Bluetooth noch nicht verbinden. Ein ATCwatch wurde angezeigt. Funktioniert das verbinden oder nicht? Edit: Irgendwie cool :) Danke für das hacken der Uhr.
:
Bearbeitet durch User
900ss D. schrieb: > Aaron C. schrieb: >> So, nach nun vielem hin und her habe ich das Problem gefunden, > > Danke schön. Jetzt funktioniert es bei mir auch, mit der > Arduino-Umgebung gebaut und sandeepmistry und deinen Sourcen. > > Das kann ich als Basis nehmen bzw. ich möchte es ja auf Platformio > bringen. Mal schauen. > > Nur mein Telefon wollte sich per Bluetooth noch nicht verbinden. Ein > ATCwatch wurde angezeigt. Funktioniert das verbinden oder nicht? Verbinden sollte einwandfrei funktionieren. Jedoch nicht einfach unter bluetooth sondern mit der app nrf connect da hier ja bluetooth 4.0 https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp Grüsse
:
Bearbeitet durch User
Aaron C. schrieb: > mit der app nrf connect da hier ja bluetooth 4.0 vordiestirnklatsch... Danke. Geht :)
Da es einen Fintess Tracker gibt den man ohne zu öffnen mit BLE kabellos flashen kann habe ich mich in letzter zeit etwas mehr damit befasst. Es ist ein D6 von der firma Desay, um das flashen sehr einfach zu machen habe ich eine Andoid app geschrieben mit der man einfach die gewünschten firmware files flashen kann. https://play.google.com/store/apps/details?id=com.atcnetz.ble.readwrite hier ist auch ein github rep wo etwas mehr über den tracker steht, jedoch nutzt der herr Fanousch Espruino und nicht arduino. Der Tracker lässt sich aber auch super über Arduino Programmieren, auch mit der Adafruit Library. https://github.com/fanoush/ds-d6 zudem kostet dieser Tracker nur derzeit 7,20€ und hat dennoch einen NRF52832 chip https://www.gearbest.com/smart-watches/pp_1232618.html?wid=1433363 leider aber nur ein oled mit 32x128pixeln.
:
Bearbeitet durch User
Beitrag #5853298 wurde von einem Moderator gelöscht.
Hallo Aaron. Aaron C. schrieb: > Es ist ein D6 von der firma Desay, um das flashen sehr einfach zu machen > habe ich eine Andoid app geschrieben mit der man einfach die gewünschten > firmware files flashen kann. > > https://play.google.com/store/apps/details?id=com.atcnetz.ble.readwrite Habe die aktuelle Version der APP installiert. Bei der Auswahl der Zip-Datei zum flashen kommt nur die Fehlermeldung: (ADNROID 6) <DATEINAME>.zip.zip Error DFU FILE NOT FOUND ! scheint ein Problem mit der Dateinamen-Endung zu sein, da das ".zip" noch zusätzlich angehängt wird, obwohl im Dateiname schon vorhanden. Kannst Du mir bitte weiterhelfen! Vielen Dank. Thommy.
Thommy ManN schrieb: > Bei der Auswahl der Zip-Datei zum flashen kommt nur die Fehlermeldung: > (ADNROID 6) > > <DATEINAME>.zip.zip > > Error DFU FILE NOT FOUND ! Moin, schaue mir das gerade einmal an, ich werde nun eine prüfung hinzufügen, wenn bereits zip enthält dann wird das nicht extra angefügt. Leider wird es manchmal benötigt weil sonst die DFU Library nicht die datei erkennt. EDIT, habe gerade ein update veröffentlicht, dies sollte in ca. einer stunde online sein.
:
Bearbeitet durch User
Das Update ist jetzt online, bitte versuche ob es nun für dich funktioniert. Grüße Aaron
Hallo Aaron, > Das Update ist jetzt online, > > bitte versuche ob es nun für dich funktioniert. funktioniert leider immer noch nicht. Vielleicht mach ich ja was falsch !? Habe: - auf die neue APP-Version aktualisiert und gestartet - D6- Flasher konnte erfolgreich verbinden .. - hab die Datei zum flashen gewählt. .. Es wird jetzt auch der richtige Dateiname angezeigt (hier DS-D6.zip) aber leider immer noch :
1 | Selected file: D6-D6.zip |
2 | FileSize: unknownKb |
3 | |
4 | Started DFU |
5 | |
6 | Error DFU FILE NOT FOUND |
Gruß Thommy M.
Schade das es noch nicht funktioniert. ist es diese datei?: https://github.com/fanoush/ds-d6/blob/master/fwdump/D6-DS.zip Normalerweise müsste er ja auch die größe anzeigen. wie öffnest du die datei, also wie sieht der open dialog aus? hast du mal eine andere Datei probiert? Grüße
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.