XBee Pro ATmega128 Setting the Encrption Key Problem

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • XBee Pro ATmega128 Setting the Encrption Key Problem

      Grüße, Jeder hier, der XBee-Module verwendet und den Verschlüsselungsschlüssel mit Bascom einstellt.Ich bin seit ein paar Wochen dabei und es wird einfach nicht fest, ich habe es versucht. Wahrscheinlich mache ich in Zeile 189 natürlich etwas falsch.

      Greetings, Anyone here using XBee modules who sets the Encryption key using Bascom.
      I have been at this for few weeks and it just does not get set, I tried. Likely I am doing something wrong of course on Line 189.







      Source Code

      1. $regfile = "m128def.dat"
      2. $crystal = 16000000
      3. $hwstack = 100
      4. $swstack = 100
      5. $framesize = 100
      6. $baud = 19200
      7. Config Porta = Input 'for address selection switches
      8. Porta = &B11111111 'enable ALL the PortA internal pull-up resistors
      9. Config Portb = Output
      10. Config Portc = Input 'for sensor input
      11. Portc = &B11111111
      12. 'Port C
      13. Dim J3pinstates As Byte
      14. 'Port A
      15. Dim Switchstates As Byte ' Inverted and correct format for use
      16. Dim Address_string As String * 2
      17. Red_led Alias Portb.7
      18. Dim Beambroke As Byte
      19. Config Com2 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
      20. Open "com2:" For Binary As #2
      21. '********************************************************************
      22. '
      23. ' Main Loop
      24. '
      25. '********************************************************************
      26. Gosub Config_xbee
      27. Do
      28. Gosub Getswitches
      29. 'Gosub Test_for_broken_beam
      30. 'If Beambroke = 1 Then
      31. Reset Red_led
      32. Print #2 , "***";
      33. Print #2 , Address_string;
      34. Print #2 , "@@@"
      35. Print #2 , Chr(13)
      36. Beambroke = 0
      37. Gosub Flash_led
      38. 'Else
      39. Set Red_led
      40. 'End If
      41. Loop
      42. End
      43. '************************************************
      44. '
      45. ' Just flash a LED
      46. '
      47. '************************************************
      48. Flash_led:
      49. Waitms 100
      50. Set Red_led
      51. Waitms 100
      52. Reset Red_led
      53. Return
      54. '************************************************
      55. '
      56. ' Test for a pin going low
      57. '
      58. '************************************************
      59. Test_for_broken_beam:
      60. ' For now I test the whole port
      61. J3pinstates = Pinc
      62. If J3pinstates < 255 Then
      63. Beambroke = 1
      64. End If
      65. Return
      66. '************************************************
      67. '
      68. ' Read the switches
      69. '
      70. '************************************************
      71. Getswitches:
      72. Switchstates = Pina ' Read the pins of port A
      73. Toggle Switchstates 'Invert the states
      74. Select Case Switchstates
      75. Case 0 : Address_string = "00"
      76. Case 1 : Address_string = "01"
      77. Case 2 : Address_string = "02"
      78. Case 3 : Address_string = "03"
      79. Case 4 : Address_string = "04"
      80. Case 5 : Address_string = "05"
      81. Case 6 : Address_string = "06"
      82. Case 7 : Address_string = "07"
      83. Case 8 : Address_string = "08"
      84. Case 9 : Address_string = "09"
      85. Case 10 : Address_string = "10"
      86. Case 11 : Address_string = "11"
      87. Case 12 : Address_string = "12"
      88. Case 13 : Address_string = "13"
      89. Case 14 : Address_string = "14"
      90. Case 15 : Address_string = "15"
      91. Case 16 : Address_string = "16"
      92. Case 17 : Address_string = "17"
      93. Case 18 : Address_string = "18"
      94. Case 19 : Address_string = "19"
      95. Case 20 : Address_string = "20"
      96. Case 21 : Address_string = "21"
      97. Case 22 : Address_string = "22"
      98. Case 23 : Address_string = "23"
      99. Case 24 : Address_string = "24"
      100. Case 25 : Address_string = "25"
      101. Case 26 : Address_string = "26"
      102. Case 27 : Address_string = "27"
      103. Case 28 : Address_string = "28"
      104. Case 29 : Address_string = "29"
      105. Case 30 : Address_string = "30"
      106. Case 31 : Address_string = "30"
      107. End Select
      108. Return
      109. '************************************************
      110. '
      111. ' Config XBEE
      112. '
      113. '************************************************
      114. Config_xbee:
      115. ' Flash the red led to indicate the entry of XBEE Config
      116. Set Red_led
      117. Waitms 150
      118. Reset Red_led
      119. Waitms 150
      120. Set Red_led
      121. Waitms 150
      122. Reset Red_led
      123. Waitms 150
      124. Waitms 1200
      125. Print #2 , "+++"; 'Use ; Semicolon To Not add CR After
      126. Waitms 100
      127. Print #2 , "ATCHC";
      128. Waitms 100
      129. Print #2 , "ATID1111";
      130. Waitms 100
      131. Print #2 , "ATBD4"; ' set to 19200 BAUD
      132. Waitms 100
      133. ' 1 = 2400 2 = 4800 3 = 9600 4 = 19200 5 = 38400 6 = 57600 7 = 115200
      134. 'Print #2 , "ATEE1"; 'Enable AES Encryption
      135. 'Waitms 100
      136. 'Print #2 , "ATKYA1A2A3A4A5A6A7A8"; 'Set Encryption KEY
      137. 'Waitms 100
      138. Print #2 , "ATWR"; 'Write to NVRam
      139. Waitms 100
      140. Print #2 , "ATCN"; 'Exit AT Mode
      141. Waitms 500
      142. ' Do some visual stuff on a led to know we ran this code.
      143. ' Flash the red led to indicate the exit of XBEE Config
      144. Set Red_led
      145. Waitms 150
      146. Reset Red_led
      147. Waitms 150
      148. Set Red_led
      149. Waitms 150
      150. Reset Red_led
      151. Waitms 150
      152. Set Red_led
      153. Waitms 150
      154. Reset Red_led
      155. Waitms 150
      156. ' Just wait a bit before transmition
      157. Waitms 1000
      158. Return
      Display All
    • Hallo Andy,
      hast du mal die AT-Eingaben per HTERM oder so von Hand probiert?
      Hast du dir die Antworten des Moduls auf deine AT Befehle überprüft?
      In diesem XBEE Manual ist einiges anders beschrieben als du es verwendest:
      +++ hier soll vorher und nachher jeweils 1 Sekunde Ruhe sein, bei dir ist es 1200ms vorher und nur 100ms nachher
      ATCN soll mit einem CR abgeschlossen werden
      ATWR Danach soll man warten, bis ein OK empfangen wurde, du wartest 100ms
      ATKY Der Schlüssel soll 64 Hex Char sein, deiner ist nur 16
      ATCH Ich finde diesen Befehl nicht, habe ihn aber vielleicht nur übersehen.

      Wie gesagt, zuerst würde ich versuchen, die Befehle manuell an das Modul zu schicken und mir auch die Antworten ansehen.
    • Franz wrote:

      Hallo Andy,
      hast du mal die AT-Eingaben per HTERM oder so von Hand probiert?
      Hast du dir die Antworten des Moduls auf deine AT Befehle überprüft?
      In diesem XBEE Manual ist einiges anders beschrieben als du es verwendest:
      +++ hier soll vorher und nachher jeweils 1 Sekunde Ruhe sein, bei dir ist es 1200ms vorher und nur 100ms nachher
      ATCN soll mit einem CR abgeschlossen werden
      ATWR Danach soll man warten, bis ein OK empfangen wurde, du wartest 100ms
      ATKY Der Schlüssel soll 64 Hex Char sein, deiner ist nur 16
      ATCH Ich finde diesen Befehl nicht, habe ihn aber vielleicht nur übersehen.

      Wie gesagt, zuerst würde ich versuchen, die Befehle manuell an das Modul zu schicken und mir auch die Antworten ansehen.
      Danke Franz,

      Dank Ihrer Hervorhebung des Textes zum Hinzufügen der Carage-Rückgaben habe ich es genau nicht getan, auch der Schlüssel musste tatsächlich länger sein.

      Der ATCH stellt die Kanaleinstellung einDie 1200 ms werden als ok angesehen und auch die 100 ms nach dem +++, ich habe das irgendwo in einem Forum gelesen, aber ich habe den Code trotzdem angepasst, um für alle anderen, die ihn brauchen, besser zu sein.

      Trotzdem haben Sie Recht, es ist besser zu codieren, um zu prüfen, ob das OK kommt.

      Der folgende Code funktioniert jetzt perfekt.


      Source Code

      1. ' This short code is an example of configuring an XBEE XBP24 S1 in AT Mode using Bascom-Avr and an Atmega128A 16Mhz.
      2. Config Com2 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
      3. Open "com2:" For Binary As #2
      4. Waitms 1200
      5. Print #2 , "+++";
      6. Waitms 1200
      7. Print #2 , "ATCHC" + Chr(13)
      8. Waitms 100
      9. Print #2 , "ATID1111" + Chr(13)
      10. Waitms 100
      11. Print #2 , "ATBD4" + Chr(13)
      12. Waitms 100
      13. Print #2 , "ATEE1" + Chr(13)
      14. Waitms 100
      15. Print #2 , "ATKY0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F" + Chr(13)
      16. Waitms 100
      17. Print #2 , "ATWR" + Chr(13)
      18. Waitms 100
      19. Print #2 , "ATCN" + Chr(13)
      20. Waitms 500
      Display All

      The post was edited 2 times, last by AndyF97 ().