0

以下のスクリプトは機能します。何が起こっているのか、何を変えたいのかコメントしようとしました。Raspberry Pi の PiFace 入力/出力ボードのボタンを押すことに頼るのではなく、ループが終了してファイルの書き込みに進むたびに特定の時間 (つまり、午後 5:00) になるようにしたいと考えています。

以前にも似たようなことを投稿したことがありますが、自分の意図を明確にするためにうまくやったとは思えません。私の知る限り、cronはこのようなものには機能しません。

これは Raspberry Pi で実行されるため、そこには多くの計算能力はありませんが、それで実行される唯一のものになります。これを使用して、1日1回データを収集したいと考えています。コードは次のとおりです。

編集: RTC を Pi に追加します。正確な時間を維持するだけで、他に何も変更しないことを確認してください..

# run infinite
while(True):

    # stopping condition, change to true to exit the next infinite loop
  done = False;

    #
    # Main program
    #

  while(not done):

      # go through the list of each button and see if each is pressed
    for element in range(8) :

      #Code
      #Continuously check if a button is pressed on Piface
      #Do things
      #Count how long they were pressed

    #stopping condition as of right now
    #when the 7th input on Piface is hit it ends the loop
      if (pfio.digital_read(7) == 1) :
          done = True

    #this works great, except for that I want it to automatically continue
      #with the script and write the results to a file once every
      #24 hours


  #makes sure that my file doesnt overwrite itself if I hold the button down 
  while(pfio.digital_read(7)==1):
    pass


  outputFile = open('lights.csv', 'w')
  for i in range(len(button_array)):
          #Convert the button's time_on variable to a string and append a comma and newline.
        outputFile.write(str(button_array[i].total_time_on) + ',\n')

  outputFile.close()
4

0 に答える 0