Merging gnuradio generated python code into the Python web serverCan I send samples from the device made by myself to GNU radio?SDR GnuRadio gr-dsd decode D-STAR voiceChoose the right dongle for NOAA images visualization with GnuRadioI want to know the bandwidth of this signal; problems using “QT GUI Frequency sink” to show itGNU Radio code and data type conversionI want to know how QT GUI Entry is implemented in gnuradio. I am puzzled how the code is like?Using Satnogs' *.ogg files in GnuRadio flowgraphsHow to record fixed number of samples in gnuradioGnuRadio RF transmission, legal and safety issuesSimple Gnuradio TX/RX loopback example/tutorial

RPI3B+: What are the four components below the HDMI connector called?

Shortest hex dumping program

Is there a strong legal guarantee that the U.S. can give to another country that it won't attack them?

Is anyone advocating the promotion of homosexuality in UK schools?

Would a non-attacking Barbarian's rage end the same turn he started it?

Swapping "Good" and "Bad"

Why doesn't sea level show seasonality?

Why isn't pressure filtration popular compared to vacuum filtration?

How to tell someone I'd like to become friends without letting them think I'm romantically interested in them?

Which star / galaxy is moving away from us the fastest?

How can I effectively communicate to recruiters that a phone call is not possible?

Switching interface VLAN ID Mid-Production

Are there any balance issues in allowing two half-feats to be taken without the Ability Score Increase instead of a feat?

How can I truly shut down ssh server?

Is it possible to create a craft with specific bones, like the bones of a forgotten beast?

What specific instant in time in the MCU has been depicted the most times?

Why do we need common sense in AI?

Some interesting calculation puzzle that I made

Why would non-kinetic weapons be used for orbital bombardment?

Would dual wielding daggers be a viable choice for a covert bodyguard?

How can I fix the dull colors I am getting in Ubuntu 19.04 Terminal?

Are there any medieval light sources without fire?

Employers keep telling me my college isn't good enough - is there any way to fix this?

What happens to unproductive professors?



Merging gnuradio generated python code into the Python web server


Can I send samples from the device made by myself to GNU radio?SDR GnuRadio gr-dsd decode D-STAR voiceChoose the right dongle for NOAA images visualization with GnuRadioI want to know the bandwidth of this signal; problems using “QT GUI Frequency sink” to show itGNU Radio code and data type conversionI want to know how QT GUI Entry is implemented in gnuradio. I am puzzled how the code is like?Using Satnogs' *.ogg files in GnuRadio flowgraphsHow to record fixed number of samples in gnuradioGnuRadio RF transmission, legal and safety issuesSimple Gnuradio TX/RX loopback example/tutorial






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








2












$begingroup$


I am trying to figure out how I control a Software Defined Radio over a network, and stream the received baseband samples from my remote hardware back to the gnuradio.



What I'm trying to do here is, this Python code should be able to output a user selectable waveform which can be a CW tone, Broadband Noise, or an arbitrary waveform read from a file containing I/Q values.



So I searched on the internet and the closest thing that I found was the BorIP and unfortunately couldn't get it set-up on my machine because the instructions I found were not helpful (at least for a beginner like me).



I created the Python web server using this script (which I found online):



 import http.server
import socketserver

PORT = 8080
Handler = http.server.SimpleHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
print("serving at port", PORT)
httpd.serve_forever()


But didn't know how to merge the generated gnuradio python code into the Python web server.










share|improve this question









New contributor



Hadad is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$


















    2












    $begingroup$


    I am trying to figure out how I control a Software Defined Radio over a network, and stream the received baseband samples from my remote hardware back to the gnuradio.



    What I'm trying to do here is, this Python code should be able to output a user selectable waveform which can be a CW tone, Broadband Noise, or an arbitrary waveform read from a file containing I/Q values.



    So I searched on the internet and the closest thing that I found was the BorIP and unfortunately couldn't get it set-up on my machine because the instructions I found were not helpful (at least for a beginner like me).



    I created the Python web server using this script (which I found online):



     import http.server
    import socketserver

    PORT = 8080
    Handler = http.server.SimpleHTTPRequestHandler

    with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()


    But didn't know how to merge the generated gnuradio python code into the Python web server.










    share|improve this question









    New contributor



    Hadad is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






    $endgroup$














      2












      2








      2





      $begingroup$


      I am trying to figure out how I control a Software Defined Radio over a network, and stream the received baseband samples from my remote hardware back to the gnuradio.



      What I'm trying to do here is, this Python code should be able to output a user selectable waveform which can be a CW tone, Broadband Noise, or an arbitrary waveform read from a file containing I/Q values.



      So I searched on the internet and the closest thing that I found was the BorIP and unfortunately couldn't get it set-up on my machine because the instructions I found were not helpful (at least for a beginner like me).



      I created the Python web server using this script (which I found online):



       import http.server
      import socketserver

      PORT = 8080
      Handler = http.server.SimpleHTTPRequestHandler

      with socketserver.TCPServer(("", PORT), Handler) as httpd:
      print("serving at port", PORT)
      httpd.serve_forever()


      But didn't know how to merge the generated gnuradio python code into the Python web server.










      share|improve this question









      New contributor



      Hadad is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      $endgroup$




      I am trying to figure out how I control a Software Defined Radio over a network, and stream the received baseband samples from my remote hardware back to the gnuradio.



      What I'm trying to do here is, this Python code should be able to output a user selectable waveform which can be a CW tone, Broadband Noise, or an arbitrary waveform read from a file containing I/Q values.



      So I searched on the internet and the closest thing that I found was the BorIP and unfortunately couldn't get it set-up on my machine because the instructions I found were not helpful (at least for a beginner like me).



      I created the Python web server using this script (which I found online):



       import http.server
      import socketserver

      PORT = 8080
      Handler = http.server.SimpleHTTPRequestHandler

      with socketserver.TCPServer(("", PORT), Handler) as httpd:
      print("serving at port", PORT)
      httpd.serve_forever()


      But didn't know how to merge the generated gnuradio python code into the Python web server.







      software-defined-radio gnuradio






      share|improve this question









      New contributor



      Hadad is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share|improve this question









      New contributor



      Hadad is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share|improve this question




      share|improve this question








      edited 8 hours ago









      Kevin Reid AG6YO

      17.4k4 gold badges35 silver badges76 bronze badges




      17.4k4 gold badges35 silver badges76 bronze badges






      New contributor



      Hadad is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      asked 8 hours ago









      HadadHadad

      334 bronze badges




      334 bronze badges




      New contributor



      Hadad is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




      New contributor




      Hadad is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes


















          3












          $begingroup$

          GNU Radio Companion (GRC) generates Python code that is something like this (not exact text). (Make sure you chose the "No GUI" option in GRC.)



          class my_block(gr.top_block):
          # ...

          def main():
          tb = my_block()
          tb.run()

          if __name__ == '__main__':
          main()


          You can just import this as a module in your Python program (the if __name__ check will skip running the code that wouldn't be appropriate). Once you've done that, the way you use it is to just create the top block and call tb.start(). This will start the flow graph without also waiting for it to finish, which is exactly what you want when you have a separate main loop like a web server.



          import my_block

          tb = my_block.my_block()
          tb.start()


          When you're shutting down, do this to stop the GNU Radio threads:



          tb.stop()
          tb.wait()


          Then you can also use the generated methods (a getter and setter per GRC "variable") to change parameters while the flow graph is running.



          There's a lot more that can be said about how to go beyond what GRC generates for you (which would best be asked as separate questions), but this is how you get started with integrating a GNU Radio flow graph into a larger program.



          I would recommend expecting to eventually stop using GRC's code generation and write your own Python code. This is because GRC has quite a few limitations in what you can do with it — for example, if you want to decide at runtime which type of signal source block to create, you can't do that in GRC but it's easy when you write your own Python. You can always use GRC to generate examples to copy from, when you're unsure how to configure a block.






          share|improve this answer









          $endgroup$












          • $begingroup$
            Thank you so much Kevin for taking time and answering my question. Again, I am a real begginer when it comes to python or programming, but definitely I will do my best to figure this out and what I can do.
            $endgroup$
            – Hadad
            6 hours ago














          Your Answer






          StackExchange.ifUsing("editor", function ()
          return StackExchange.using("schematics", function ()
          StackExchange.schematics.init();
          );
          , "cicuitlab");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "520"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          Hadad is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fham.stackexchange.com%2fquestions%2f14883%2fmerging-gnuradio-generated-python-code-into-the-python-web-server%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3












          $begingroup$

          GNU Radio Companion (GRC) generates Python code that is something like this (not exact text). (Make sure you chose the "No GUI" option in GRC.)



          class my_block(gr.top_block):
          # ...

          def main():
          tb = my_block()
          tb.run()

          if __name__ == '__main__':
          main()


          You can just import this as a module in your Python program (the if __name__ check will skip running the code that wouldn't be appropriate). Once you've done that, the way you use it is to just create the top block and call tb.start(). This will start the flow graph without also waiting for it to finish, which is exactly what you want when you have a separate main loop like a web server.



          import my_block

          tb = my_block.my_block()
          tb.start()


          When you're shutting down, do this to stop the GNU Radio threads:



          tb.stop()
          tb.wait()


          Then you can also use the generated methods (a getter and setter per GRC "variable") to change parameters while the flow graph is running.



          There's a lot more that can be said about how to go beyond what GRC generates for you (which would best be asked as separate questions), but this is how you get started with integrating a GNU Radio flow graph into a larger program.



          I would recommend expecting to eventually stop using GRC's code generation and write your own Python code. This is because GRC has quite a few limitations in what you can do with it — for example, if you want to decide at runtime which type of signal source block to create, you can't do that in GRC but it's easy when you write your own Python. You can always use GRC to generate examples to copy from, when you're unsure how to configure a block.






          share|improve this answer









          $endgroup$












          • $begingroup$
            Thank you so much Kevin for taking time and answering my question. Again, I am a real begginer when it comes to python or programming, but definitely I will do my best to figure this out and what I can do.
            $endgroup$
            – Hadad
            6 hours ago
















          3












          $begingroup$

          GNU Radio Companion (GRC) generates Python code that is something like this (not exact text). (Make sure you chose the "No GUI" option in GRC.)



          class my_block(gr.top_block):
          # ...

          def main():
          tb = my_block()
          tb.run()

          if __name__ == '__main__':
          main()


          You can just import this as a module in your Python program (the if __name__ check will skip running the code that wouldn't be appropriate). Once you've done that, the way you use it is to just create the top block and call tb.start(). This will start the flow graph without also waiting for it to finish, which is exactly what you want when you have a separate main loop like a web server.



          import my_block

          tb = my_block.my_block()
          tb.start()


          When you're shutting down, do this to stop the GNU Radio threads:



          tb.stop()
          tb.wait()


          Then you can also use the generated methods (a getter and setter per GRC "variable") to change parameters while the flow graph is running.



          There's a lot more that can be said about how to go beyond what GRC generates for you (which would best be asked as separate questions), but this is how you get started with integrating a GNU Radio flow graph into a larger program.



          I would recommend expecting to eventually stop using GRC's code generation and write your own Python code. This is because GRC has quite a few limitations in what you can do with it — for example, if you want to decide at runtime which type of signal source block to create, you can't do that in GRC but it's easy when you write your own Python. You can always use GRC to generate examples to copy from, when you're unsure how to configure a block.






          share|improve this answer









          $endgroup$












          • $begingroup$
            Thank you so much Kevin for taking time and answering my question. Again, I am a real begginer when it comes to python or programming, but definitely I will do my best to figure this out and what I can do.
            $endgroup$
            – Hadad
            6 hours ago














          3












          3








          3





          $begingroup$

          GNU Radio Companion (GRC) generates Python code that is something like this (not exact text). (Make sure you chose the "No GUI" option in GRC.)



          class my_block(gr.top_block):
          # ...

          def main():
          tb = my_block()
          tb.run()

          if __name__ == '__main__':
          main()


          You can just import this as a module in your Python program (the if __name__ check will skip running the code that wouldn't be appropriate). Once you've done that, the way you use it is to just create the top block and call tb.start(). This will start the flow graph without also waiting for it to finish, which is exactly what you want when you have a separate main loop like a web server.



          import my_block

          tb = my_block.my_block()
          tb.start()


          When you're shutting down, do this to stop the GNU Radio threads:



          tb.stop()
          tb.wait()


          Then you can also use the generated methods (a getter and setter per GRC "variable") to change parameters while the flow graph is running.



          There's a lot more that can be said about how to go beyond what GRC generates for you (which would best be asked as separate questions), but this is how you get started with integrating a GNU Radio flow graph into a larger program.



          I would recommend expecting to eventually stop using GRC's code generation and write your own Python code. This is because GRC has quite a few limitations in what you can do with it — for example, if you want to decide at runtime which type of signal source block to create, you can't do that in GRC but it's easy when you write your own Python. You can always use GRC to generate examples to copy from, when you're unsure how to configure a block.






          share|improve this answer









          $endgroup$



          GNU Radio Companion (GRC) generates Python code that is something like this (not exact text). (Make sure you chose the "No GUI" option in GRC.)



          class my_block(gr.top_block):
          # ...

          def main():
          tb = my_block()
          tb.run()

          if __name__ == '__main__':
          main()


          You can just import this as a module in your Python program (the if __name__ check will skip running the code that wouldn't be appropriate). Once you've done that, the way you use it is to just create the top block and call tb.start(). This will start the flow graph without also waiting for it to finish, which is exactly what you want when you have a separate main loop like a web server.



          import my_block

          tb = my_block.my_block()
          tb.start()


          When you're shutting down, do this to stop the GNU Radio threads:



          tb.stop()
          tb.wait()


          Then you can also use the generated methods (a getter and setter per GRC "variable") to change parameters while the flow graph is running.



          There's a lot more that can be said about how to go beyond what GRC generates for you (which would best be asked as separate questions), but this is how you get started with integrating a GNU Radio flow graph into a larger program.



          I would recommend expecting to eventually stop using GRC's code generation and write your own Python code. This is because GRC has quite a few limitations in what you can do with it — for example, if you want to decide at runtime which type of signal source block to create, you can't do that in GRC but it's easy when you write your own Python. You can always use GRC to generate examples to copy from, when you're unsure how to configure a block.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 8 hours ago









          Kevin Reid AG6YOKevin Reid AG6YO

          17.4k4 gold badges35 silver badges76 bronze badges




          17.4k4 gold badges35 silver badges76 bronze badges











          • $begingroup$
            Thank you so much Kevin for taking time and answering my question. Again, I am a real begginer when it comes to python or programming, but definitely I will do my best to figure this out and what I can do.
            $endgroup$
            – Hadad
            6 hours ago

















          • $begingroup$
            Thank you so much Kevin for taking time and answering my question. Again, I am a real begginer when it comes to python or programming, but definitely I will do my best to figure this out and what I can do.
            $endgroup$
            – Hadad
            6 hours ago
















          $begingroup$
          Thank you so much Kevin for taking time and answering my question. Again, I am a real begginer when it comes to python or programming, but definitely I will do my best to figure this out and what I can do.
          $endgroup$
          – Hadad
          6 hours ago





          $begingroup$
          Thank you so much Kevin for taking time and answering my question. Again, I am a real begginer when it comes to python or programming, but definitely I will do my best to figure this out and what I can do.
          $endgroup$
          – Hadad
          6 hours ago











          Hadad is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          Hadad is a new contributor. Be nice, and check out our Code of Conduct.












          Hadad is a new contributor. Be nice, and check out our Code of Conduct.











          Hadad is a new contributor. Be nice, and check out our Code of Conduct.














          Thanks for contributing an answer to Amateur Radio Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fham.stackexchange.com%2fquestions%2f14883%2fmerging-gnuradio-generated-python-code-into-the-python-web-server%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

          Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

          Tom Holland Mục lục Đầu đời và giáo dục | Sự nghiệp | Cuộc sống cá nhân | Phim tham gia | Giải thưởng và đề cử | Chú thích | Liên kết ngoài | Trình đơn chuyển hướngProfile“Person Details for Thomas Stanley Holland, "England and Wales Birth Registration Index, 1837-2008" — FamilySearch.org”"Meet Tom Holland... the 16-year-old star of The Impossible""Schoolboy actor Tom Holland finds himself in Oscar contention for role in tsunami drama"“Naomi Watts on the Prince William and Harry's reaction to her film about the late Princess Diana”lưu trữ"Holland and Pflueger Are West End's Two New 'Billy Elliots'""I'm so envious of my son, the movie star! British writer Dominic Holland's spent 20 years trying to crack Hollywood - but he's been beaten to it by a very unlikely rival"“Richard and Margaret Povey of Jersey, Channel Islands, UK: Information about Thomas Stanley Holland”"Tom Holland to play Billy Elliot""New Billy Elliot leaving the garage"Billy Elliot the Musical - Tom Holland - Billy"A Tale of four Billys: Tom Holland""The Feel Good Factor""Thames Christian College schoolboys join Myleene Klass for The Feelgood Factor""Government launches £600,000 arts bursaries pilot""BILLY's Chapman, Holland, Gardner & Jackson-Keen Visit Prime Minister""Elton John 'blown away' by Billy Elliot fifth birthday" (video with John's interview and fragments of Holland's performance)"First News interviews Arrietty's Tom Holland"“33rd Critics' Circle Film Awards winners”“National Board of Review Current Awards”Bản gốc"Ron Howard Whaling Tale 'In The Heart Of The Sea' Casts Tom Holland"“'Spider-Man' Finds Tom Holland to Star as New Web-Slinger”lưu trữ“Captain America: Civil War (2016)”“Film Review: ‘Captain America: Civil War’”lưu trữ“‘Captain America: Civil War’ review: Choose your own avenger”lưu trữ“The Lost City of Z reviews”“Sony Pictures and Marvel Studios Find Their 'Spider-Man' Star and Director”“‘Mary Magdalene’, ‘Current War’ & ‘Wind River’ Get 2017 Release Dates From Weinstein”“Lionsgate Unleashing Daisy Ridley & Tom Holland Starrer ‘Chaos Walking’ In Cannes”“PTA's 'Master' Leads Chicago Film Critics Nominations, UPDATED: Houston and Indiana Critics Nominations”“Nominaciones Goya 2013 Telecinco Cinema – ENG”“Jameson Empire Film Awards: Martin Freeman wins best actor for performance in The Hobbit”“34th Annual Young Artist Awards”Bản gốc“Teen Choice Awards 2016—Captain America: Civil War Leads Second Wave of Nominations”“BAFTA Film Award Nominations: ‘La La Land’ Leads Race”“Saturn Awards Nominations 2017: 'Rogue One,' 'Walking Dead' Lead”Tom HollandTom HollandTom HollandTom Hollandmedia.gettyimages.comWorldCat Identities300279794no20130442900000 0004 0355 42791085670554170004732cb16706349t(data)XX5557367